알고리즘문풀 with SWIFT/Programmers

swift ) 프로그래머스 - 체육복

유사앱등이 2022. 5. 7. 00:08

 

계속 일부 테스트 케이스에서 실패가 떴는데..

항상 느끼지만 문제 조건을 정말 두 눈 뜨고 잘 봐야 하고..

테스트케이스도 여러가지로 생각을 해야 하는 것 같다.

 

테스트케이스에 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)

 

프린트만 리턴으로 바꿔주면 됨..