ㅂㄷㅂㄷ...
ㅂㄷㅂㄷ...
ㅂㄷㅂㄷ...
이 문제 푸느라 1시간정도 날린것같다...
삽질을 아주 정성스럽게 열심히 했다...ㅠ.ㅠ
어느정도 삽질을 하다가 생각이라는 것을 좀 했어야 했는데
아무생각없이 삽질만 열심히 해버렸다.
다음부터는 더 생각하면서 문제에 접근해야겠다는 교훈을..
# 7568 덩치
n = int(input())
people = []
for i in range(n):
people.append(tuple(map(int,input().split())))
# 각 사람별 딕셔너리를 만들어줌.
dictpeople = {}
for v in people:
dictpeople[v] = 1
people.sort(reverse=True) # 몸무게로 내림차순 정렬
rank = 1
for i in range(len(people)):
for j in range(i+1,len(people)):
if people[i][1] < people[j][1]:
dictpeople[people[i]] = rank
rank -= 1
break
dictpeople[people[i]] = rank
rank += 1
if people[n-1][1] < people[n-2][1]:
dictpeople[people[n-1]] = n
else:
dictpeople[people[n-1]] = rank
for i in dictpeople.values():
print(i,end=' ')
위의 코드는 열심히 삽질한 결과물이다.
예제 문제는 잘 출력해냈지만
왜인지 다른 문제는 풀어내지 못해서
틀렸습니다를 내게 보여줬다
# 7568 덩치
n = int(input())
people = []
for _ in range(n):
people.append(tuple(map(int,input().split())))
for i in people:
rank = 1
for j in people:
if i[0] < j[0] and i[1] < j[1]:
rank += 1
print(rank, end=' ')
# ㅂㄷㅂㄷㅂㄷㅂㄷㅂㄷㅂㄷ...
# 너무 멀리 가버렸다.
이 코드는 삽질 끝에 구글님의 도움을 받아 발견한 코드
그냥 자기보다 키, 몸무게가 모두 큰 사람의 수를 세서 rank로 넣어주기만 하면 되는 문제였다.
문제를 더 차분히 볼 필요가 있다.
728x90
'알고리즘 문제풀이 > brute force' 카테고리의 다른 글
백준 2231 파이썬(brute force) (0) | 2021.09.25 |
---|---|
백준 2798 파이썬(brute force) (0) | 2021.09.25 |