🔔 문제

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

ALC8CCC


🔐 해결 (소스 코드)

N = int(input())
bulk = []

# 각 사람의 몸무게와 키를 나타내는 양의 정수 x, y 입력 
for _ in range(N):
    x, y = map(int, input().split())
    bulk.append((x, y)) # 리스트에 튜플 형태로 저장

for i in bulk:
    rank = 1 # 기본 순위는 1위로 고정
    for j in bulk: 
        if i[0] < j[0] and i[1] < j[1]: # 각 사람들의 키와 몸무게를 일일히 비교해서
            rank += 1 # 자신보다 큰 덩치가 있다면 자신의 rank를 증가 시키도록 함
    print(rank, end = ' ') # 각 덩치 등수 공백문자로 분리시켜 출력

📝 후기

사실 플레이데이터에서 제공한 다른 완전탐색, 이분탐색 문제가 나한테 좀 어려워서… ㅠ
(모의고사 문제는 그나마 쉬운거였음…)
그 중간 난이도쯤 되는 문제를 찾아서 풀려는 생각으로 찾아 풀게 된 문제이다.

문제를 보고나서 그동안의 경험을 토대로 되게 쉽게 풀 수 있을 것 같다는 생각이 들었다.
그래서, 특별히 어려웠던 부분 없이 푼 문제였다.
(튜플 형식으로 값을 넣어 비교하는 것도 문제에서 제시된 방식대로 하려다보니 하게 된 것…)
(처음에 enumerate로 꺼내서 비교할까 하다가 위 방식으로 하는게 간단하고, 맞는 것 같아서 생각을 바꾼건 안 비밀… ㅋㅋ)

이 정도 문제는 사실 다른 문제와 비교했을 때 엄청 쉬운 축에 속하는 것 같다.
다른 완전탐색, 이분탐색 알고리즘을 응용해서 푸는 문제들을 보면 나에게 아직은 좀 어렵다는 생각이 들기 때문이다.
그래서, 여러가지 문제 유형과 풀이를 보면서 접근 방법에 대한 감을 많이 잡아야 할 것 같다.


👣 참고하기

완전탐색 강의 정리노트 보기

프로그래머스 Lv.1 모의고사 문제 풀이 보기

맨 위로 이동하기

Leave a comment