alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 2810 컵홀더_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 2810 컵홀더_파이썬

알파이 2020. 11. 17. 08:26

 

2810 컵홀더    www.acmicpc.net/problem/2810

 

2810번: 컵홀더

첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다.

www.acmicpc.net

 

 

문제 풀기 전 공부할 것 : 구현, 그리디 알고리즘, 문자열

 

 

 

 

 

 

 

풀이 1

<내용>

  • 좌석이 n개 있고 모두 일반 좌석이라면 컵홀더를 n+1개 사용할 수 있다.
  • 이때, 커플석이 l쌍(lx2) 있다면 l개만큼 컵홀더가 없어지게 된다.
  • 따라서 n+1 - (l)이 컵홀더의 수이다.
  • 컵을 컵홀더에 놓을 수 있는 최대 사람은 컵홀더의 수만큼 있거나 컵홀더의 수가 좌석보다 많다면 n개 가능하다.

 

 

<코드>

n = int(input())
seat = input()
l = 0
for i in range(n):
    if seat[i] == 'L':
        l += 1
l //= 2
print(min(n+1-l, n))

 

 

 

 

 

 

 

 

 

 

풀이 2

<내용>

  • 위의 방법과 같은데 'L'을 세는 방법에서 차이가 있다.

 

<코드>

n = int(input())
seat = input()
l = seat.count('LL')
print(min(n+1-l, n))

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments