문제 링크
https://www.acmicpc.net/problem/2457
2457번: 공주님의 정원
첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서,
www.acmicpc.net
문제 풀이
n = int(input())
flowers = []
for _ in range(n):
start_m, start_d, end_m, end_d = map(int, input().split())
flowers.append([start_m * 100 + start_d, end_m * 100 + end_d])
flowers.sort()
end_date = 301
result = 0
while flowers:
if end_date >= 1201 or flowers[0][0] > end_date:
break
temp_end_date = -1
for _ in range(len(flowers)):
if flowers[0][0] <= end_date:
if temp_end_date <= flowers[0][1]:
temp_end_date = flowers[0][1]
flowers.pop(0)
else:
break
end_date = temp_end_date
result += 1
print(result if end_date >= 1201 else 0)
'Algorithm > BOJ' 카테고리의 다른 글
[백준] 11559 Puyo Puyo (파이썬 python) (0) | 2024.03.28 |
---|---|
[백준] 1351 무한 수열 (파이썬 python) (0) | 2024.03.26 |
[백준] 2230 수 고르기 (파이썬 python) (0) | 2024.03.16 |
[백준] 11659 구간 합 구하기 4 (파이썬 python) (2) | 2024.03.15 |
[백준] 10026 적록색약 (파이썬 python) (0) | 2024.03.14 |
문제 링크
https://www.acmicpc.net/problem/2457
2457번: 공주님의 정원
첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서,
www.acmicpc.net
문제 풀이
n = int(input())
flowers = []
for _ in range(n):
start_m, start_d, end_m, end_d = map(int, input().split())
flowers.append([start_m * 100 + start_d, end_m * 100 + end_d])
flowers.sort()
end_date = 301
result = 0
while flowers:
if end_date >= 1201 or flowers[0][0] > end_date:
break
temp_end_date = -1
for _ in range(len(flowers)):
if flowers[0][0] <= end_date:
if temp_end_date <= flowers[0][1]:
temp_end_date = flowers[0][1]
flowers.pop(0)
else:
break
end_date = temp_end_date
result += 1
print(result if end_date >= 1201 else 0)
'Algorithm > BOJ' 카테고리의 다른 글
[백준] 11559 Puyo Puyo (파이썬 python) (0) | 2024.03.28 |
---|---|
[백준] 1351 무한 수열 (파이썬 python) (0) | 2024.03.26 |
[백준] 2230 수 고르기 (파이썬 python) (0) | 2024.03.16 |
[백준] 11659 구간 합 구하기 4 (파이썬 python) (2) | 2024.03.15 |
[백준] 10026 적록색약 (파이썬 python) (0) | 2024.03.14 |