[코딩 테스트 연습 입문] 머쓱이보다 키 큰 사람

2022. 12. 21. 22:03code/[프로그래머스] python

문제

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

 

❗제한사항

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

 

입출력 예

 

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

 

✔풀이

def solution(array, height):
    return len(list(i for i in array if i>height))

📝설명

retrun에 한 줄로 코드 작성을 끝내보고 싶었다.

for문을 이용해서 array의 각 원소를 height 크기 비교를 한 후, 그 원소의 숫자를 세고 싶었는데, for 앞에 i를 둔 채로 sum()으로 묶으려고 하니 오류가 떴다.

sum()대신 list()로 묶어서 리스트로 만든 후, 리스트의 길이를 retrun 시켰다. 

개선한다면?

 

👑모범 답안

🔎array에 height를 삽입한 후, .sort(reverse=True)를 활용해서 역순으로 배치했다.

그 후, return 값에 array.index()를 사용함으로써 height보다 큰 값을 출력하도록 했다.