😈 알고리즘/💻 백준
💻 8958번 문제 : OX 퀴즈
Buᐢ༝ᐢy
2022. 9. 28. 07:54
8958번: OX퀴즈


#include <stdio.h>
#include <string.h>
int main()
{
int T = 0;
scanf("%d", &T);
char array[80] = {};
for (int i = 0; i < T; i++)
{
scanf("%s", array,sizeof(array));
int count = 0;
int sum = 0;
for (int j = 0; j < strlen(array); j++)
{
if (array[j] == 'O')
{
count++;
}
else
{
count = 0;
}
sum += count;
}
printf("%d\n", sum);
}
}
메모리 (KB) | 시간 (ms) | 코드 길이 (B) |
1112 | 0 | 381 |
📕 오답 노트
scope 개념을 잘 이해할 필요가 있다. 이전부터 안 좋은 습관이 for문을 돌렸을 때 각 변수들이 어디에 정보가 담기는지 헷갈렸다. 이전에 작성한 코드는 대충 이랬다.
scanf("%d", 테스트 케이스);
for (테스트 케이스만큼 반복)
{
for (배열의 최대값 중 0이 아닌 값만큼 입력)
{
scanf("%d", 아무 값);
}
...
}
코드를 따로 저장하지 않아 비슷하게 적어보았다. 이렇게 되면 문제대로 풀게 되면 사실 말이 안 된다. 배열 중 0이 아닌 값 만큼 반복을 해서 문제대로 진행을 해야 하는데, 배열의 값을 넣는다니…
아무튼 이전부터 이중 for문을 쓰면 변수들이 어떤 범위까지 값이 남아있는지를 잘 이해못한다는 것을 인지하고 문제를 풀어야겠다.
Uploaded by N2T