계속 일부 테스트 케이스에서 실패가 떴는데..
항상 느끼지만 문제 조건을 정말 두 눈 뜨고 잘 봐야 하고..
테스트케이스도 여러가지로 생각을 해야 하는 것 같다.
테스트케이스에 n = 3, lost = [1,2], reserve = [3,2]를 넣고 돌려보면 어지간해선 해결될 것이라고 생각한다.
아래의 코드로 통과함...
var setZero : Set<Int> = Set(lost).subtracting(reserve)
var setTwo : Set<Int> = Set(reserve).subtracting(lost)
var haveZero = setZero.sorted()
var haveTwo = setTwo.sorted()
var count = n - haveZero.count
for i in 0..<haveZero.count {
for j in 0..<haveTwo.count {
if haveZero[i] - 1 == haveTwo[j] || haveZero[i] + 1 == haveTwo[j] {
count += 1
haveTwo.remove(at: j)
break
}
}
}
print(count)
프린트만 리턴으로 바꿔주면 됨..
'알고리즘문풀 with SWIFT > Programmers' 카테고리의 다른 글
swift ) 프로그래머스 - 행렬의 덧셈 (0) | 2022.05.23 |
---|---|
swift ) 프로그래머스 - x만큼 간격이 있는 n개의 숫자 (0) | 2022.05.23 |
swift ) 프로그래머스 - 직사각형 별찍기 (0) | 2022.05.23 |
swift ) 프로그래머스 - 모의고사 (수포자) (0) | 2022.05.07 |
swift ) 프로그래머스 - 카카오 2019 블채 레벨1 - 실패율 (0) | 2022.05.06 |