[JAVA] 프로그래머스 : 머쓱이보다 키 큰 사람

조예빈·2024년 9월 5일
0

Coding Test

목록 보기
131/136

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

for문으로 배열의 요소를 반복해서 풀 수도 있는데, 나는 그렇게 풀고 싶지 않았다. 배열을 정렬한 후 index값을 고려해서 하고 싶었다.

처음 코드(정답 X)

import java.util.*;

class Solution {
    public int solution(int[] array, int height) {
        Arrays.sort(array); //오름차순 정렬
        int idx = 0;
        for(int i=array.length-1; i>=0; i--){ //맨 끝부터 탐색
            if(array[i] <= height){ //작아지는 시점에 탈출
                idx = i;
                break;
            }
        }
        int answer = array.length - idx - 1;
        return answer;
    }
}

정답 코드

index의 초기값을 0으로 설정해 주었기 때문에 반례가 발생하는 문제였다. index값을 -1로 초기화 해 주면 문제가 해결된다.

import java.util.*;

class Solution {
    public int solution(int[] array, int height) {
        Arrays.sort(array); //오름차순 정렬
        int idx = -1;
        for(int i=array.length-1; i>=0; i--){ //맨 끝부터 탐색
            if(array[i] <= height){ //작아지는 시점에 탈출
                idx = i;
                break;
            }
        }
        int answer = array.length - idx - 1;
        return answer;
    }
}

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글