Where who wants to meet someone

나누어 떨어지는 숫자 배열 본문

프로그래머스 알고리즘 문제 기록/Lv. 1

나누어 떨어지는 숫자 배열

Lust3r 2024. 5. 14. 10:31
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=swift

 

프로그래머스

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

programmers.co.kr

 

 

내 답안 / 다른 사람들의 답안

func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
    return arr.contains { $0 % divisor == 0 } ? arr.filter { $0 % divisor == 0 }.sorted() : [-1]
}

- arr에 divisor로 나눠지는 값이 있는지 체크한 다음에 있다면 filter와 sorted로 반환하고, 없다면 -1이 들은 배열을 반환하도록 했다.

 

// 풀이 1
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
    let array = arr.sorted().filter{ $0 % divisor == 0 }
    return  array == [] ? [-1] : array
}

// 풀이 2
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
    let result = arr.filter{ $0 % divisor == 0}.sorted()
    return result.count == 0 ? [-1] : result
}

- 필터링 한 후 정렬하는 것이 정렬할 항목이 적어 더 좋다고 생각했는데, 두 방법의 명확한 차이는 좀 더 찾아봐야 할 것 같다.

 

점수: +1

'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글

핸드폰 번호 가리기  (0) 2024.05.14
콜라츠 추측  (0) 2024.05.14
없는 숫자 더하기  (0) 2024.05.13
음양 더하기  (0) 2024.05.13
서울에서 김서방 찾기  (0) 2024.05.13