문제
머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 1 ≤ height ≤ 200
- 1 ≤ array의 원소 ≤ 200
입출력 예
코드
1. 반복문
class Solution {
fun solution(array: IntArray, height: Int): Int {
var answer: Int = 0
array.sort()
for(i in array){
if(i > height){
break
}else{
answer++
}
}
println(answer)
return array.size - answer
}
}
2. 이분 탐색
class Solution {
fun solution(array: IntArray, height: Int): Int {
var answer: Int = 0
array.sort()
var start: Int = 0
var end: Int = array.size - 1
var mid: Int = 0
while(start <= end){
mid = (start + end) / 2
if(array[mid] > height){
end = mid - 1
answer = end
}else{
start = mid + 1
}
}
return array.size - start
}
}
이분 탐색으로 풀었을 때는 기억 상 1.x ms가 나왔던 것 같다.
기록하고 싶은 부분
- 배열 정렬
array.sort()
- 배열 역정렬
array.reserve()
- 배열 크기
array.size
https://school.programmers.co.kr/learn/courses/30/lessons/120585
'Algorithm > kotlin' 카테고리의 다른 글
[프로그래머스/Kotlin] 문자열 정렬하기 (1) (Lv. 0) (0) | 2024.02.07 |
---|---|
[프로그래머스/Kotlin] 인덱스 바꾸기 (Lv. 0) (0) | 2024.02.07 |
[프로그래머스/Kotlin] 대문자와 소문자 (Lv. 0) (0) | 2024.02.07 |
[프로그래머스/Kotlin] 중복된 숫자 개수 (Lv. 0) (0) | 2024.02.06 |
[프로그래머스/Kotlin] 짝수의 합 (Lv. 0) (0) | 2024.02.06 |