Where who wants to meet someone
나누어 떨어지는 숫자 배열 본문
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 |