728x90
반응형
Silver V
# 7568 덩치
https://www.acmicpc.net/problem/7568
풀이
a = int(input())
wh_list = [list(map(int, input().split())) for i in range(a)]
rank_list = []
for i in range(len(wh_list)):
rank = 1
for j in range(len(wh_list)): # i번째 요소와 나머지(j)를 비교하는 for 구문
if (wh_list[i][0] < wh_list[j][0]) and (wh_list[i][1] < wh_list[j][1]):
rank += 1
rank_list.append(rank)
sol = " ".join(map(str,rank_list))
print(sol)
문제를 통해 배운 점
Q. for 구문에서 'for i in list' vs 'for i in range(len(list))'의 차이점?
A. '~ in list'의 경우 i가 0번째 요소 값 부터 마지막 요소에 해당 : str
'~ range(len(list))'의 경우 i는 0부터 마지막에 해당하는 개수에 해당 : int
Q. " ".join(rank_list)에서 오류가 나는 이유?
A. join은 리스트 안의 문자열을 합치는 함수다. int를 문자열처럼 합칠 수 없다
대신 ''.join(map(str, list))의 형태로는 사용 가능하다
※ for i 구문, for j 구문을 통해 i번째 요소와 나머지(j) 요소를 비교하는 알고리즘 구현이 가능하다
'Algorithm Study > Python' 카테고리의 다른 글
[백준 파이썬] #2609 최대공약수와 최소공배수 (0) | 2021.11.26 |
---|---|
[백준 파이썬] #1181 단어 정렬 (0) | 2021.11.26 |
[백준 파이썬] #2751 수 정렬하기 2 (0) | 2021.11.26 |
[백준 파이썬] #1427 소트인사이드 (0) | 2021.11.26 |
[백준 파이썬] #11399 ATM (0) | 2021.11.26 |