Where who wants to meet someone

할 일 목록 본문

728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181885

 

프로그래머스

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

programmers.co.kr

 

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

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