티스토리 뷰

https://www.acmicpc.net/problem/7568

 

7568번: 덩치

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

www.acmicpc.net

 

 

 

 

👩‍💻문제 이해

1. 모든 사람들간의 비교를 하는데 몸무게는 몸무게 끼리, 키는 키끼리 비교

2. 둘 다 큰 사람이 더 큰 덩치를 가지는 것이다.

 

 

 

👩‍💻dictionary형태와 반복문 사용  : 성공🌈

dic = {}
li = []
for i in range(int(input())):
  kg, cm = input().split()
  li.append([int(kg), int(cm)])
  dic[i] = 1

for i in range(0, len(li)-1):
  for j in range(i+1, len(li)):
    if (li[i][0] > li[j][0]) and (li[i][1] > li[j][1]):
      dic[j] += 1
    elif (li[i][0] < li[j][0]) and (li[i][1] < li[j][1]):
      dic[i] += 1

for i,j in dic.items():
  print(j, end = ' ', sep = ' ')

 

 

dic = {}
li = []
for i in range(int(input())):
  kg, cm = input().split()
  li.append([int(kg), int(cm)])
  # [몸무게, 키]를 li에 리스트 형태로 추가
  dic[i] = 1
  # 사람 순서 : 1 (모든 사람은 초기값으로 1을 가진다)

 

li와 dic의 출력형태

 

 

for i in range(0, len(li)-1):
  for j in range(i+1, len(li)):
    if (li[i][0] > li[j][0]) and (li[i][1] > li[j][1]):
      dic[j] += 1
      # 키와 몸무게가 모두 작은 사람의 dictionary 값을 +1 해준다.
    elif (li[i][0] < li[j][0]) and (li[i][1] < li[j][1]):
      dic[i] += 1

for i,j in dic.items():
  print(j, end = ' ', sep = ' ')
# 공백 포함 한 줄로 출력

 

 

 

 

🚀결과🚀

댓글
최근에 올라온 글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday