내 풀이
func solution(_ k:Int, _ score:[Int]) -> [Int] {
var hallOfFame = [Int]()
var result = [Int]()
for s in score {
hallOfFame.append(s)
hallOfFame.sort { $0 > $1 }
if hallOfFame.count > k {
hallOfFame.removeLast()
}
result.append(hallOfFame.last!)
}
return result
}
solution(\_:\_:)
→ 매개변수로 정수 k와 정수 배열 score를 받음
→ k
: 명예의 전당에서 유지할 최대 점수 개수
→ score
배열: 각 날짜별 가수의 점수를 나타냄
hallOfFame
배열
→ 명예의 전당에 있는 점수 저장
→ 각 날짜마다 새로운 점수가 추가되며, 배열은 각 점수의 내림차순으로 정렬됩니다.
result
배열
→ 매일 발표된 명예의 전당의 최하위 점수 저장
for
루프 : score
배열에 있는 각 점수 s에 대해 반복
→ 각 점수를 hallOfFame
배열에 추가하고, 내림차순으로 정렬
→ 만약 hallOfFame
배열의 길이가 k
보다 크면, 가장 낮은 점수를 제거하여 명예의 전당에는 최상위 k
개의 점수만 유지
→ 현재 날짜의 명예의 전당에서 최하위 점수를 result
배열에 추가
result
배열 반환
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - 카드 뭉치 (2) | 2024.03.20 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 2016년 (6) | 2024.03.19 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 콜라 문제 (0) | 2024.03.15 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 푸드 파이트 대회 (0) | 2024.03.14 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 가장 가까운 같은 글자 (0) | 2024.03.13 |