DHistory
[Baekjoon] Greedy - 2891 카약과 강풍 본문
문제
2891번: 카약과 강풍
첫째 줄에 팀의 수 N, 카약이 손상된 팀의 수 S, 카약을 하나 더 가져온 팀의 수 R이 주어진다. (2 ≤ N ≤ 10, 1 ≤ S, R ≤ N) 둘째 줄에는 카약이 손상된 팀의 번호가 주어진다. 팀 번호는 중복되지 않
www.acmicpc.net
풀이
"""
체육복 문제와 동일
"""
n, s, r = map(int, input().split())
damaged = list(map(int, input().split()))[:s]
spares = list(map(int, input().split()))[:r]
def solution(n, damaged, spares):
teams = ['O'] * n
# 카약이 손상된 팀
for value in damaged:
teams[value - 1] = 'X'
# 여분을 가져왔지만 카약이 손상된 팀
for spare in list(set(spares) & set(damaged)):
teams[spare - 1] = 'O'
# 카약 여분이 있는 팀
for sapre in list(set(spares) - set(damaged)):
teams[sapre - 1] = 'S'
# 카약을 주고 받은 팀
for i in range(n - 1):
if [teams[i], teams[i + 1]] in (['S', 'X'], ['X', 'S']):
teams[i], teams[i + 1] = 'O', 'O'
return teams.count('X')
print(solution(n, damaged, spares))
채점 결과

'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] Greedy - 2057 팩토리얼 분해 (0) | 2023.08.15 |
---|---|
[Baekjoon] Greedy - 14655 욱제는 도박쟁이야!! (0) | 2023.08.15 |
[Baekjoon] Greedy - 15720 카우버거 (0) | 2023.08.14 |
[Baekjoon] Greedy - 16208 귀찮음 (0) | 2023.08.14 |
[Baekjoon] Greedy - 11256 사탕 (0) | 2023.08.14 |