문제링크
https://school.programmers.co.kr/learn/courses/30/lessons/42889
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 핵심
-실패율은 다음과 같이 정의한다.
스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수
만약 실패율이 같은 스테이지가 있다면 작은 번호의 스테이지가 먼저 오도록 하면 된다.
스테이지에 도달한 유저가 없는 경우 해당 스테이지의 실패율은 0 으로 정의한다.
문제 풀이법
-일단 클리어개념은 +1 이되야한다
각스테이지별 실패확률을 구한다
실패율순위를 체킹한다
해당실패율이 몇번째인지 체킹하는데 오래걸렸다
사람처럼 체크하는것 처럼 최대한 코드에 담았다
코드
결과

gpt피드백
pass 계산이 가장 아까움
사람 한 명마다 그 사람이 도달한 스테이지까지 전부 pass를 증가시키고 있지.
사실 네 arr에 이미
각 스테이지에 몇 명이 있는지
정보가 들어가 있어.
그러면 처음 도전자 수를 stages.length로 잡고, 각 스테이지를 지나면서 그 스테이지에서 멈춘 사람을 빼는 방식으로 계산할 수 있어.
int players = stages.length;
for (int i = 1; i <= N; i++) {
if (players == 0) {
temp[i] = 0;
} else {
temp[i] = (double) arr[i] / players;
}
players -= arr[i];
}
배운점
'코테 > lvl1' 카테고리의 다른 글
| 프로그래머스 덧칠하기(lvl1) 풀어보기 (0) | 2026.09.08 |
|---|---|
| 프로그래머스 체육복(lvl1) 풀어보기 (0) | 2026.09.08 |
| 프로그래머스 소수만들기(lvl1) 풀어보기 (0) | 2026.09.07 |
| 프로그래머스 모의고사(lvl1) 풀어보기 (0) | 2026.09.07 |
| 프로그래머스 가장가까운글자(lvl1) 풀어보기 (0) | 2026.09.07 |