1️⃣ 문제
2️⃣ 풀이 방법
-
최대값을 찾는거니
citations
를 내림차순으로 정렬하며 빠르게 접근 -
그러면 당연하게 h-1번째 인덱스의 인용 횟수는 h보다 커야 한다.
-
h를 n으로 초기화해주고 하나씩 줄여 나가면서 2번 조건 확인해주기
- 조건에 부합하면 바로 h 리턴
3️⃣ 코드
이번 코드는 쪼꼬미쓰
import Foundation
func solution(_ citations:[Int]) -> Int {
let citationsSorted = citations.sorted(by: >) // 내림차순 정렬
let n = citations.count
for h in (1...n).reversed() {
if citationsSorted[h-1] >= h { return h }
}
return 0
}
4️⃣ 이 문제를 풀면서 되새긴 점
배열 내림차순 정렬
-
배열 sorted 함수로 내림차순 정렬할 때는
by
전달인자 레이블 까먹지 말 것-
let citationsSorted = citations.sorted(by: >)
-
반복문 역순회 방법
-
범위에
reversed
함수 사용-
for i in (1...n).reversed() { // code }
-