Where who wants to meet someone
할 일 목록 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181885
내 답안 / 다른 사람들의 답안
import Foundation
func solution(_ todo_list:[String], _ finished:[Bool]) -> [String] {
return finished.enumerated().filter{ $0.element == false }.map { todo_list[$0.offset] }
}
- finished를 enumerated로 짝을 지은 뒤, element가 false인(작업이 끝나지 않음) 짝을 모으고, 해당 offset의 todo_list 요소를 반환
- 처음에 '순서대로'의 의미를 알파벳 순서로 이해하고 뒤에 .sorted()를 붙여 문제 풀이 실패. 문제 꼼꼼히 확인해야 함.
// 답안 1
import Foundation
func solution(_ todo_list:[String], _ finished:[Bool]) -> [String] {
return finished.enumerated().filter { !$0.element }.map { todo_list[$0.offset] }
}
// 답안 2
import Foundation
func solution(_ todo_list:[String], _ finished:[Bool]) -> [String] {
return zip(todo_list, finished).filter { !$0.1 }.map { $0.0 }
}
- 답안 1은 같은 방법이지만 $0.element == false 로 확인하는 대신 앞에 !를 통해 false를 체크했음
- 답안 2는 zip을 통해 todo_list와 finished의 각 인덱스별로 짝을 짓고, 각 항목($0)의 두 번째 값(.1)이 false인 것들 중 첫 번째 값(.0)을 반환함
점수: +1
'프로그래머스 알고리즘 문제 기록 > 코딩 기초 트레이닝' 카테고리의 다른 글
수열과 구간 쿼리 1 (0) | 2024.01.25 |
---|---|
n보다 커질 때까지 더하기 (0) | 2024.01.25 |
5명씩 (0) | 2024.01.25 |
홀수 vs 짝수 (0) | 2024.01.25 |
n개 간격의 원소들 (1) | 2024.01.24 |