문제 출처 (BRONZE Ⅱ)
https://www.acmicpc.net/problem/32751
풀이
맛있는 햄버거가 되기 위한 조건 4가지가 주어진다.
(사실상 1번 조건인 "재료는 아래에서 위로 쌓는다."는 당연한 이야기니 pass)
2번 조건부터 4번 조건까지 차례대로 구현을 해준 뒤, 단 하나라도 조건에 위배되면 False를 return 했다.
모든 조건에 통과한 햄버거만이 True를 반환시켜 가장 맛있는 햄버거가 될 수 있다.
코드
def taste():
# 2번 조건
if S[0] != "a" or S[-1] != "a":
return False
# 3번 조건
for i in range(N - 1):
if S[i] == S[i + 1]:
return False
# 4번 조건
for i in ["a", "b", "c", "d"]:
if S.count(i) > hamburger[ord(i) - ord("a")]:
return False
# 모두 만족하면 True 반환
return True
N = int(input())
hamburger = list(map(int, input().split()))
S = input()
# taste()의 반환된 값을 통한 결과값 출력
print("Yes" if taste() else "No")
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 22113번 창영이와 버스 [PYTHON/파이썬] (1) | 2025.07.29 |
---|---|
백준 BAEKJOON 9339번 마라토너 [PYTHON/파이썬] (1) | 2025.07.28 |
백준 BAEKJOON 34009번 Bob부 멍충이 [PYTHON/파이썬] (0) | 2025.07.23 |
백준 BAEKJOON 33964번 레퓨닛의 덧셈 [PYTHON/파이썬] (0) | 2025.07.18 |
백준 BAEKJOON 33884번 클리크 조절 [PYTHON/파이썬] (2) | 2025.07.09 |