Programmers | 코딩테스트 입문 - 머쓱이 보다 키 큰 사람

2022. 12. 18. 22:06공부/Programmers

 

프로그래머스 Lv.0 머쓱이 보다 키 큰 사람

 

문제 설명

머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ height ≤ 200
  • 1 ≤ array의 원소 ≤ 200

 

JAVA

class Solution {
    public int solution(int[] array, int height) {
        int answer = 0;
        int tmp;
        
        //키 순서대로 배열 재배치
        for(int i=1; i<array.length; i++){
            if(array[i-1] > array[i]){
                tmp = array[i-1];
                array[i-1] = array[i];
                array[i] = tmp;
            }
        }
        
        //머쓱이 키보다 클 때, 
        //배열길이-인덱스값
        for(int i=0; i<array.length; i++){
            if(array[i] > height){
                answer = array.length - i;
                break;
            }
        }
        return answer;
    }
}

 

다른 사람 풀이

class Solution {
    public int solution(int[] array, int height) {
        int answer = 0;
        for(int i: array){
            answer += (i>height) ? 1 : 0;
        }
        return answer;
    }
}

 

Python3

def solution(array, height):
    #원소반복, 원소가 height보다 클 때 +1
    return sum(1 for x in array if x > height)

자바로 다른사람이 푼 풀이 보고 난 후에 다시 파이썬으로 풀어서 자바랑 풀이가 다르다.

 

자바 풀이 때는 배열 원소를 크기 순서대로 나열 먼저 해야한다고 생각했는데,

다른사람풀이를 보니까 머쓱이 키보다 큰 원소 개수를 체크하면 되는거였다.

 

이전 코테 '중복된 숫자 중복'에서 다른 사람이 풀이한 코드를 띵킹하며 파이썬으로 코테했다^_^v