https://www.acmicpc.net/problem/2246
풀이
본 코드는 PyPy3를 통해 제출되었음을 알립니다.
문제를 풀기 위해 주어진 조건을 보면됩니다.
- X보다 바닷가에 더 가까운 콘도들은 모두 X보다 숙박비가 더 비싸다.
- X보다 숙박비가 더 싼 콘도들은 모두 X보다 바닷가에서 더 멀다.
조건을 해석하면 다음과 같습니다.
다음 조건에 위배되는 콘도는 후보로 선정될 수 없습니다.
- X보다 바닷가에 더 가까운 콘도들은 모두 X보다 숙박비가 더 싸거나 같으면 안된다.
- X보다 숙박비가 더 싼 콘도들은 모두 X보다 바닷가에서 더 가깝거나 같으면 안된다.
완전 탐색을 이용하여 일일이 비교하여 조건을 만족하는 콘도의 개수를 찾아내줍시다.
PyPy3 제출 시 통과
# 2246번 콘도 선정
import sys
n = int(input())
condoes = []
visited = [False] * n
def compare(cur_con):
dist = cur_con[0]
fee = cur_con[1]
for j in range(n):
if visited[j]:
continue
# 후보 x가 거리가 더 가까운데도 불구하고 비교하는 콘도의 가격이 저렴하거나 같은 경우
if dist > condoes[j][0]:
if fee >= condoes[j][1]:
return 0
# 후보 x가 가격이 더 저렴한데도 불구하고 비교하는 콘도의 거리가 짧거나 같은 경우
elif fee > condoes[j][1]:
if dist >= condoes[j][0]:
return 0
return 1
for _ in range(n):
condo = list(map(int, sys.stdin.readline().rstrip().split()))
condoes.append(condo)
ans = 0
for i in range(n):
visited[i] = True
ans += compare(condoes[i])
visited[i] = False
print(ans)
출력결과
'백준 > 완전 탐색' 카테고리의 다른 글
[백준] 1018번 체스판 다시 칠하기 - 파이썬 (0) | 2022.08.22 |
---|---|
[백준] 1107번 리모컨 - 파이썬 (0) | 2022.02.10 |
[백준][Python] 6603 로또 - 코팩 (0) | 2022.02.09 |
[백준] 1929번 소수 구하기 - 파이썬 (0) | 2022.02.07 |
[백준] 10819번 차이를 최대로 - 파이썬 (0) | 2022.02.07 |