Algorithm

[Programmers] 나머지 한 점 - Swift (통과)

insub4067 2022. 12. 31. 20:00
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정사각형이 되려면 x가 총 4개 인데 그중 두개가 동일해야하고, y 4개중에 두개 두개가 동일해야 한다.

그래서 x 끼리 모으고 y 끼리 모은 다음에 1개씩만 남은 좌표를 구하고 x, y 를 모은 다음에 리턴해주었다.

func solution(_ v: [[Int]]) -> [Int] {
    var ans: [Int] = []
    var x: [Int] = []
    var y: [Int] = []
    for location in v {
        x.append(location[0])
        y.append(location[1])
    }
    
    let countedSetForX = NSCountedSet(array: x)
    for location in x {
        let count = countedSetForX.count(for: location)
        if count == 1 {
            ans.append(location)
        }
    } 
    
    let countedSetForY = NSCountedSet(array: y)
    for location in y {
        let count = countedSetForY.count(for: location)          
        if count == 1 {
            ans.append(location)
        }        
    }
    return ans
}