바로 코드를 작성하고 바로 맞은 문제라 조금 더 뿌듯함이 느껴졌던 문제입니당. ㅎㅎ
- 첫번째 줄에 입력받는 문제의 개수를 num 변수에 저장합니다.
- 바깥 for문은 전체 문제가 한번씩 순차적으로 실행되게 하는 반복문이고, 안쪽 for문은 문제 하나당 o,x의 판별을 위한 반복문이 됩니다.
- 바깥 for문은 num의 길이만큼 반복하면 되겠습니다.
- 안쪽 for문은 input[i].length 즉, 하나의 ox문제마다 길이만큼 반복하면 되겠습니다.
- input[i][j] 라는 뜻은 총 5개의 문제 중 한 문제에 대한 인덱스를 나타내는 것이라고 말할 수 있습니다.
예를 들어, input[1][0]이라고 하면, 두번째 줄의 ox문제에서 첫번째 인덱스를 말합니다. 이를 활용하면 그 인덱스가 'O'인지, 'X'인지 if문을 통해 판별하면 됩니다.
- 저는 위의 방법과 유사한 a = input[i].split('') 로 input[i]마다의 인덱스를 구하였습니다. (제 생각대로의 풀이과정이고, 5번의 방법을 당연히 추천드립니당.)
- if문에서는 만약 인덱스가 'O'라면 count 값이 증가, 'X'라면 count 값이 0으로 초기화되게 하였습니다.
예를 들어, ooxxooxoxx 문제가 있습니다.
그렇다면 if문의 조건을 통해 count 값이 1 증가합니다. 증가한 count 값은 바깥 for문에 초기화 되있던 값에 저장되어 count = 1 이 저장됩니다. 그 상태로 다시 안쪽 for문을 반복하다가 또 다시 'O'를 만나서 count 값이 1증가하면 1+1 가 되어 2가 되는 것입니다.만약, 'X'를 만나 count 값이 0이 되면 count 값이 초기화되어 다음 'O'를 만나면 다시 0부터 1씩 증가합니다.
- 따라서, 지금까지 만났던 'O'를 통해 증가했던 count 값을 저장해놓고 싶기 때문에 sum+= count 를 통헤 누적값을 더해놓는 것입니다.
- 마지막으로 바깥 for문에서 sum 값을 출력하면 문제 5개가 차례대로 실행되어, 누적 점수합이 출력됩니다.