#include <stdio.h>
int main() {
int N = 0;
char cup[51];
float count = 1;
scanf("%d", &N);
scanf("%s", &cup);
for (int j = 0; j < N; j++) {
if (cup[j] == 'S') {
count += 1;
}
else if (cup[j] == 'L') {
count += 0.5;
}
}
if (N < count) {
printf("%d", N);
}
else {
printf("%d", count);
}
return 0;
}
이렇게 했는데 틀림이 떴다.. 왤까잇...
#include <stdio.h>
int main() {
int N = 0;
char cup[51];
int count = 1;
scanf("%d", &N);
scanf("%s", &cup);
for (int j = 0; j < N; j++) {
if (cup[j] == 'S') {
count ++;
}
else if (cup[j] == 'L') {
count++;
j++;
}
}
if (N < count) {
printf("%d", N);
}
else {
printf("%d", count);
}
return 0;
}
<코드해석>
count는 1부터 시작해야한다. 왜냐하면 처음부터 가로등을 놓기 그런 문제처럼 1부터 1씩 증가해줘야한다.
%s를 이용해주면 반복문을 사용하지않아도 입력을 받을 수 있다.
맨처음에는 %c를 이용한 반복문으로 하려했는데. . 저게 훨씬 편한것같다.
S가 나오면 1을 증가해주고 L이 나오면 1을 증가해주고 j도 1을 증가해준다 왜냐하면 커플석이라 2명이서 1개 count가 올라가줘야해서 그러면 다음 세트가 나오게 해준다
위에서 틀린 코드에서는 이를 L이 나오면 0.5씩 더해주는 거로 했는데 왜 틀렸는지는 잘.. ㅎㅎ
근데 사람수보다 count가 크면안되니깐 사람수보다 클 경우 사람수를 출력해준다.
이렇게 해결하면 된다.
추가로 배열 공부를 해야할듯.. 까먹은것같다 ^^*
[백준] BOJ_2742번_기찍 N_C/C++ (2) | 2022.09.05 |
---|---|
[백준 - 브5] BOJ_2753번_윤년_C/C++ (0) | 2022.09.05 |
[백준 - 브3] 10818 최소, 최대 - C/C++ (0) | 2022.09.05 |
[백준 - 브3] 2441번 별 찍기 C언어 (0) | 2022.09.03 |
[백준 - 브5] 1330 두 수 비교하기 C언어 (0) | 2022.09.03 |
댓글 영역