[BOJ-Code] 2810 - 컵홀더

Posted by DHniyeo Blog on March 10, 2024

문제 링크

💡 그리디 알고리즘/구현/문자열

Memory 1112KB Time 0ms Code Length 407B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>

int main()
{
	// 커플이 한쌍까지는 사람수 만큼 컵놓을수 있고, n(>2)쌍부터는 n-1 사람이 사용 못함
	int t;
	int sl_cnt = 0;
	scanf("%d", &t);
	char sl[51];
	scanf("%s", sl);
	for (int i = 0; i < t; i++) {
		if (sl[i] == 'L') {
			sl_cnt++;
		}
	}
	sl_cnt = sl_cnt / 2;
	if (sl_cnt <= 1) {
		printf("%d\n", t);
	}
	else {
		printf("%d\n", t - sl_cnt + 1);
	}
}

이 코드는 입력으로 받은 문자열에서 ‘L’이 나오는 횟수를 세고, 이를 이용하여 컵을 놓을 수 있는 쌍의 수를 계산한다. ‘L’이 나오는 횟수를 2로 나누어 컵을 놓을 수 있는 쌍의 수를 구한 후, 이 값이 1 이하이면 컵을 놓을 수 있는 쌍의 수는 사람의 수와 같고, 그렇지 않으면 사람의 수에서 ‘L’이 나오는 횟수를 빼고 1을 더한 값을 출력한다.