💡 알고리즘
구현, 브루트포스 알고리즘
💡 접근 방법
덩치 (x kg, y cm)
A, B의 덩치 (x, y) (p, q)
덩치가 더 크려면 x > p, y > q
덩치 등수 : 자신보다 큰 덩치 사람의 수 + 1
- 같은 덩치 등수 여러명도 가능
- 2등이 3명 → 3, 4등 없음
- N명의 몸무게, 키를 읽어서 각 사람의 덩치 등수 계산하여 출력
“덩치 등수 : 자신보다 큰 덩치 사람의 수 + 1” 조건에 집중해서 모든 경우의 수를 비교하여, 내가 더 작을수록 count를 세도록 작성하였다.
결과는 런타임 에러🤷♂️
→ if문의 첫 조건을 만족해야만 두번째 조건으로 넘어가도록 수정
if ppl_list[i][0] < ppl_list[j][0] and ppl_list[i][1] < ppl_list[j][1] :
-> if ppl[i][0] < ppl[j][0] :
if ppl[i][1] < ppl[j][1] :
💡 코드
N = int(input())
ppl = []
res = []
for _ in range (N) :
ppl.append(int, list(input().split()))
for i in range (len(ppl)) :
cnt = 0
for j in range (len(ppl)) :
if ppl[i][0] < ppl[j][0] :
if ppl[i][1] < ppl[j][1] :
cnt += 1
res.append(cnt + 1)
for cnt in res :
print(cnt, end = " ")
💡 정리
한 번의 비교를 하는데 여러 조건이 필요할 때, and로 연결하기 보다는 쪼개는 습관을 기르자
'Algorithm > Greedy, Implementation' 카테고리의 다른 글
[Python] 백준 #18111 마인크래프트 (0) | 2022.03.08 |
---|---|
[Python] 백준 #1874 스택 수열 (2) | 2021.06.23 |
[Python] 백준 #1181 단어 정렬 (0) | 2021.06.21 |