https://www.acmicpc.net/problem/8979
--풀이
마지막 for문 풀이
if data 안에 찾고자하는 index 번호와 같은 메달을 딴 나라가 있다면:
-> 즉, 자기 자신도 data 안에 있기 때문에 포함됨. 그래서 같지 않을 경우에 else: print(q) 같은 조건이 필요 X
print(q+1)
-> index 번호에서 1을 더한 값을 출력(순위)
ex 1) index로 찾고자 하는 값이 자신과 일치하여 출력되는 경우
input:
4 3
1 1 2 0
2 0 1 0
3 0 1 0
4 0 0 1
data=[ [1,1,2,0], [2,0,1,0], [3,0,1,0], [4,0,0,1] ]
k -> 3
index=i=2
q=0
N/A
q=1
data[2][1:]==data[1][1:]
3, 0,1,0 == 2,0,1,0
q=1(2등)
break
ex 2) index로 찾고자 하는 값이 동일한 값으로 서칭되어 출력되는 경우
input:
4 2
1 3 0 0
3 0 0 2
4 0 2 0
2 0 2 0
data=[ [1,3,0,0], [4,0,2,0], [2,0,2,0], [3,0,0,2] ]
k -> 2
index=i=2
q=0
N/A
q=1
data[2][1:]== data[1][1:]
2,0,2,0 == 4,0,2,0
q=1(2등)
중복된 순위를 찾는 알고리즘은 for문으로 탐색하여 index번호를 base로 출력하게 하고,
중복되는 값은 큰 순위를 기준으로 하기 때문에, index가 가장 큰 값을 기준으로 순위를 부여하자
'알고리즘' 카테고리의 다른 글
[백준 1531 투명][파이썬] (0) | 2022.05.09 |
---|---|
[백준 10709 기상캐스터][파이썬] (0) | 2022.05.06 |
[백준 1259 팰린드롬수][파이썬] (0) | 2022.05.02 |
[백준 1181 단어 정렬][파이썬] (0) | 2022.05.02 |
[백준 11866 요세푸스 문제0][파이썬] (0) | 2022.04.27 |