[백준 7568번 - Python 파이썬] 덩치

wonyoung Song·2021년 11월 20일
0

알고리즘

목록 보기
4/7

백준 7568번 - 덩치

Solution

조건 : '두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다'

처음에는 딕셔너리 형태로 입력을 받아 전부 비교를 하는 형태로 작성하였지만
딕셔너리를 굳이 안써도 되며 for문과 if도 더 깔끔하게 구성할 수 있다고 생각하여
새로 두번째 코드를 작성하여 제출했다.

Code

첫 번째 코드는 처음 제출한 딕셔너리를 이용한 코드이다.
무지성으로 제출하고 다시 생각해 보니
더 깔끔하게 코드를 작성할 수 있을 것 같아서
두 번째 코드를 작성하여 제출하였다.

N = int(input())
dic = {}
rank = [1] * N

for i in range(N):
  x, y = input().split()
  dic[i] = [x, y]
  
for i in range(N):
  for j in range(i, N):
    if dic[i][0] < dic[j][0] and dic[i][1] < dic[j][1]:
      rank[i] += 1
    elif dic[i][0] > dic[j][0] and dic[i][1] > dic[j][1]:
      rank[j] += 1

print(*rank)

N = int(input())
arr = [list(map(int,input().split())) for _ in range(N)]

for i in arr:
  result = 1
  for j in arr:
    if i[0] < j[0] and i[1] < j[1]:
      result += 1
  
  print(result, end = " ")

Feedback
이번 문제는 처음부터 더 깔끔하고 잘 작성할 수 있었으나
정답에만 너무 신경을 쓴 것 같다.
정답도 중요하지만 어떻게 하면 더 깔끔하고 효율적이게
작성할지도 신경을 써야할듯

profile
네. 송원영입니다.

0개의 댓글