조건 : '두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다'
처음에는 딕셔너리 형태로 입력을 받아 전부 비교를 하는 형태로 작성하였지만
딕셔너리를 굳이 안써도 되며 for문과 if도 더 깔끔하게 구성할 수 있다고 생각하여
새로 두번째 코드를 작성하여 제출했다.
첫 번째 코드는 처음 제출한 딕셔너리를 이용한 코드이다.
무지성으로 제출하고 다시 생각해 보니
더 깔끔하게 코드를 작성할 수 있을 것 같아서
두 번째 코드를 작성하여 제출하였다.
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
이번 문제는 처음부터 더 깔끔하고 잘 작성할 수 있었으나
정답에만 너무 신경을 쓴 것 같다.
정답도 중요하지만 어떻게 하면 더 깔끔하고 효율적이게
작성할지도 신경을 써야할듯