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

백승연·2023년 12월 13일
0

프로그래머스 - Lv. 0

목록 보기
15/60
post-thumbnail

🗒️ 문제

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


제한 사항

  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ height ≤ 200
  • 1 ≤ array의 원소 ≤ 200

입출력 예

arrayheightresult
[149, 180, 192, 170]1673
[180, 120, 140]1900

입출력 예 설명

입출력 예 #1

  • 149, 180, 192, 170 중 머쓱이보다 키가 큰 사람은 180, 192, 170으로 세 명입니다.

입출력 예 #2

  • 180, 120, 140 중 190보다 큰 수는 없으므로 0명입니다.

🖋️ 나의 풀이

map()을 사용하여 풀었는데 map()은 새 배열을 생성해서 리턴하는거라 forEach를 사용하는게 더 옳은 방법이었을 것 같다.

function solution(array, height) {
    let result = array.map((el) => {
        if (el > height) return el;
    }).filter(item => item);

    return result.length;
}

💡 다른 사람들의 풀이

그냥 filter() 하나로만 풀었어도 되는 방법이어서 가져옴

# 1

function solution(array, height) {
    var answer = array.filter(item => item > height);
    return answer.length;
}


solution([1,2,3,4],2)

# 2

똑같이 map()을 사용했지만 더 간단한 방법이 있어서 가져옴

function solution(array, height) {
    let result = 0;
    array.map((arr) => height < arr && result++);

    return result;
}

#3

일반 for문을 사용한 방법

function solution(array, height) {
    var answer = 0;
    for (let i = 0; i < array.length; i++) {
        if (array[i] > height) {
            answer++
        }
    }
    return answer;
}



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글