반응형
https://www.acmicpc.net/problem/2810
소스코드
풀이
★ 스택을 사용하여 문제를 풀었습니다.
★ a 리스트의 원소들로 반복문을 돌면서 'LL', 즉 커플석을 찾아줍니다. 만약 커플석을 찾았을 경우에 커플석을 stack에서 제거한 뒤, 컵홀더를 놓을 수 있는 개수인 1을 cnt에 플러스해줍니다.
★ 위 과정을 거쳤을 때, stack 안에는 일반좌석만 남아있습니다. 양 끝의 일반좌석 옆에는 컵홀더를 하나씩 놓을 수 있고, 일반 좌석들 사이에도 하나의 컵홀더를 놓을 수 있기 때문에 stack이 비어있지 않는동안 일반석을 pop하면서 cnt + 1을 해줍니다.
★ 위의 두 과정을 끝내면 컵홀더의 개수인 cnt를 알 수 있습니다. 만약 cnt가 사람 수보다 많거나 같으면 모든 사람이 컵홀더를 사용할 수 있고, 아닐 경우 컵홀더의 갯수만큼만 사용할 수 있습니다 !
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 22864번: 피로도 (Python) (0) | 2023.06.08 |
---|---|
[백준 알고리즘] 14487번: 욱제는 효도쟁이야!! (Python) (0) | 2023.06.08 |
[백준 알고리즘] 14659번: 한조서열정리하고옴ㅋㅋ (Python) (0) | 2023.06.08 |
[백준 알고리즘] 1049번: 기타줄 (Python) (0) | 2023.06.07 |
[백준 알고리즘] 2161번: 카드1 (Python) (0) | 2023.06.06 |