구현은 쉽게 했는데, 계속 틀렸다고 나옴;;;
아직도 뭐가 문제인지 모르겠어서 구글링 했다....
에휴.........;
그리고 처음에 비오름차순이 내림차순이라는 뜻인지 아님 sorting이 안되어 있다는 뜻인지 헷갈렸다;;
n, s, p = map(int, input().split())
if n == 0:
print(1)
else:
scores = [int(i) for i in input().split()]
if n == p and scores[-1] >= s:
print(-1)
else:
rank = n + 1
for i in range(n):
if scores[i] <= s:
rank = i + 1
break
print(rank)
풀이과정
1. 랭킹에 올라갈 수 있는 수와 리스트에 있는 점수의 개수가 같다면,
마지막 점수와 내 점수를 비교해서, 내 점수가 작거나 같다면, 내가 랭킹에 올라갈 수 없게 되는 것이므로 -1을 출력
2. rank = n+1로 설정한 뒤, 내 점수보다 작거나 같은 수를 만날 때, 그 점수 앞에 세우면서 순위를 rank = i + 1로 설정
아래 코드는 내가 처음에 쓴 코드인데, 아직도 뭐가 잘못됐는지 모르겠다..
N, s, P = map(int, input().split())
if 10 <= P <= 50 and 0 <= N <=P and N > 0:
scores = [int(i) for i in input().split()]
rank = []
for score in scores:
if score > s:
rank.append(score)
elif score == s:
rank.append(score)
print(len(rank))
break
elif score < s:
print(len(rank) + 1)
break
else:
print(1)
'코테연습문제' 카테고리의 다른 글
[Programmers/Python] 이모티콘 할인행사 (0) | 2023.06.16 |
---|---|
[Programmers/Python] 신규 아이디 추천 (0) | 2023.06.15 |
[백준/Python] 20055 컨베이어 벨트 위의 로봇 (0) | 2023.06.14 |
[백준/Python] 20006 랭킹전 대기열 (1) | 2023.06.13 |
[백준/Python] 2852 NBA 농구 (0) | 2023.06.12 |