본문 바로가기
백준

[백준] 7568번 : 덩치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 20.
728x90
반응형

 

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 사람의 수를 입력받는다. N = int(sys.stdin.readline())
  3. 사람마다 몸무게와 키를 입력받아 저장할 리스트를 생성한다. li = list()
  4. 사람의 수만큼 반복하며 for i in range(N)
  5. 각 사람마다 몸무게와 키를 입력받고 그 정보를 리스트로 저장한다. info = list(map(int, sys.stdin.readline().split()))
  6. 입력받은 정보를 리스트에 추가한다. li.append(info)
  7. 각 사람별 덩치 등수를 저장할 리스트를 만들고 최고 등수인 1로 초기화한다. lank = [1] * N
  8. 두 사람의 덩치를 비교하기 위해 이중 for문을 사용한다. for i in range(N): for j in range(N)
  9. 만약 덩치를 비교할 수 있다면 if (li[i][0] < li[j][0]) and (li[i][1] < li[j][1])
  10. 덩치가 작은 사람의 등수에 1을 더한다. lank[i] += 1
  11. 덩치 비교를 모두 마쳤으면 결정된 등수를 한 줄로 공백을 두고 출력한다. for i in lank: print(i, end=' ')
반응형

3. 소스코드

import sys

N = int(sys.stdin.readline())

li = list()
for i in range(N):
    info = list(map(int, sys.stdin.readline().split()))
    li.append(info)

lank = [1] * N
for i in range(N):
    for j in range(N):
        if (li[i][0] < li[j][0]) and (li[i][1] < li[j][1]):
            lank[i] += 1

for i in lank:
    print(i, end=' ')
728x90
반응형