Where who wants to meet someone
배열 만들기 2 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181921
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 / 다른 사람들의 답안
import Foundation
func solution(_ l:Int, _ r:Int) -> [Int] {
let result = (l...r).filter { $0.description.allSatisfy{ $0 == "0" || $0 == "5" } }
return result.isEmpty ? [-1] : result
}
- l과 r 사이 범위에서 filter를 통해 각 항목별로 0 또는 5로만 구성되어 있는 요소들만 result에 담고, result가 비어있다면 -1 배열을, 비어있지 않다면 그 배열을 반환하도록 했다.
import Foundation
func solution(_ l:Int, _ r:Int) -> [Int] {
let answer = (l...r).map { $0 }.filter { Set(String($0)).isSubset(of: ["0", "5"]) }
return answer.isEmpty ? [-1] : answer
}
https://developer.apple.com/documentation/swift/set/issubset(of:)-1d7pp
isSubset(of:) | Apple Developer Documentation
Returns a Boolean value that indicates whether this set is a subset of the given set.
developer.apple.com
- 주어진 set의 하위 set인지 확인하는데 사용되는 메서드
- $0을 String으로 캐스팅하고, Set에 넣은 것이 "0"과 "5"의 하위셋인지 확인하는 방식으로 사용한 것 같다.
- isSubset이라는 새로운 메서드를 알 수 있게 되었다. 다만 위의 코드에서 map은 특별한 의미가 없는 것 같아 바로 filter를 사용해도 되지 않을까 싶다.
점수: +4
'프로그래머스 알고리즘 문제 기록 > 코딩 기초 트레이닝' 카테고리의 다른 글
콜라츠 수열 만들기 (0) | 2024.01.16 |
---|---|
카운트 업 (0) | 2024.01.16 |
수열과 구간 쿼리 4 (0) | 2024.01.15 |
수열과 구간 쿼리 2 (0) | 2024.01.12 |
수열과 구간 쿼리 3 (0) | 2024.01.11 |