본문 바로가기
Sketch (Programming Language)/Python

Baekjoon Training #7568

by 생각하는 이상훈 2022. 9. 20.
728x90

#7568

num = int(input())  #학생 수 입력
slist = []          #학생 스펙 리스트
anslist=[]          #덩치 등수 리스트

for i in range(num):
    w, h = map(int, input().split())    #무게와 키를 입력받음
    slist.append((w, h))                #학생 스펙 리스트에 입력함

#브루트포스 알고리즘 진행
for a in slist:      #등수 지정할 학생 지정
    rank = 1         #초기 등수는 1로 시작
    for b in slist:                 #비교대상 학생 지정
        if a[0]<b[0] and a[1]<b[1]: 
            rank+=1         #비교대상보다 덩치가 작으면 등수 상승
    anslist.append(rank)            #등수를 덩치 등수 리스트에 입력

print(*anslist)         #출력할때는 []와 ,를 제외시키고 내용만 출력

등수를 결정할 학생을 반복문으로 전체를 검사하고 비교대상도 반복문으로 전체 학생을 지정하여 브루트포스 알고리즘을 완성시켰다. 키와 몸무게가 둘다 크거나 작을때야 비로소 덩치의 우위가 결정되므로 and를 통해 키와 몸무게가 모두 작을때 등수가 밀려나도록 설계하였다. 이때 출력을 할때 리스트 이름 앞에 *을 붙혀주면 []와 ,가 제외되고 내용만 출력되는 것을 배웠다.


 

728x90

'Sketch (Programming Language) > Python' 카테고리의 다른 글

Baekjoon Training #1449  (0) 2022.09.26
Baekjoon Training #1436  (0) 2022.09.20
Baekjoon Training #25304  (0) 2022.09.18
Baekjoon Training #11050  (0) 2022.09.08
Baekjoon Training #1037  (0) 2022.09.05