https://www.acmicpc.net/problem/2810
난이도 : 브론즈 1
태그 : 구현, 문자열, 그리디 알고리즘
설명
커플석 가운데에는 컵홀더가 없습니다.
따라서 커플석의 개수에 따라 컵홀더를 쓸 수 있는 사람의 수가 줄어듭니다.
*S*S*S*S*S*S*S*S*S*S*
10개의 일반석이 있습니다. 이 경우, 10명 모두가 컵홀더를 사용할 수 있습니다.
*S*S*S*S*LL*S*S*S*S*
8개의 일반석과 2개의 커플석이 있습니다. 이 경우에도 10명 모두 컵홀더를 사용할 수 있습니다.
*S*S*S*S*LL*S*LL*S*
6개의 일반석과 4개의 커플석이 있습니다. 이 경우, 9명의 사람이 컵홀더를 사용할 수 있습니다.
*S*LL*S*S*LL*S*LL*S*
4개의 일반석과 6개의 커플석이 있습니다. 이 경우, 8명의 사람이 컵홀더를 사용할 수 있습니다.
즉, n개의 좌석이 있고, 그 중 k개의 커플석이 있을 때,
컵홀더를 쓸 수 있는 사람은 n - (k/2 - 1) (단, k>=0) 명입니다.
소스코드
n = int(input())
line = input()
llCount = line.count("LL") - 1
if llCount < 0: llCount = 0
print(n - llCount)
전체 좌석의 개수 n에서 커플석의 개수 - 1만큼 빼주면 됩니다.
단 커플석 개수 - 1은 항상 0 이상이여야 합니다.
'코딩테스트 > Python' 카테고리의 다른 글
[백준 5211번] [Python] 가단조와 다장조 (0) | 2022.11.11 |
---|---|
[백준 5426번] [Python] 비밀 편지 (1) | 2022.11.11 |
[백준 4998번] [Python] 저금 (0) | 2022.11.03 |
[백준 17358번] [Python] 복불복으로 지구 멸망 (0) | 2022.10.14 |
[프로그래머스][Python] 삼각 달팽이 (0) | 2022.06.20 |