OX(8958) - JS

박정호·2022년 2월 4일
0

BAEKJOON

목록 보기
35/57
post-thumbnail

바로 코드를 작성하고 바로 맞은 문제라 조금 더 뿌듯함이 느껴졌던 문제입니당. ㅎㅎ

  1. 첫번째 줄에 입력받는 문제의 개수를 num 변수에 저장합니다.
  1. 바깥 for문은 전체 문제가 한번씩 순차적으로 실행되게 하는 반복문이고, 안쪽 for문은 문제 하나당 o,x의 판별을 위한 반복문이 됩니다.
  1. 바깥 for문은 num의 길이만큼 반복하면 되겠습니다.
  1. 안쪽 for문은 input[i].length 즉, 하나의 ox문제마다 길이만큼 반복하면 되겠습니다.
  1. input[i][j] 라는 뜻은 총 5개의 문제 중 한 문제에 대한 인덱스를 나타내는 것이라고 말할 수 있습니다.
    예를 들어, input[1][0]이라고 하면, 두번째 줄의 ox문제에서 첫번째 인덱스를 말합니다. 이를 활용하면 그 인덱스가 'O'인지, 'X'인지 if문을 통해 판별하면 됩니다.
  1. 저는 위의 방법과 유사한 a = input[i].split('') 로 input[i]마다의 인덱스를 구하였습니다. (제 생각대로의 풀이과정이고, 5번의 방법을 당연히 추천드립니당.)
  1. 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씩 증가합니다.

  1. 따라서, 지금까지 만났던 'O'를 통해 증가했던 count 값을 저장해놓고 싶기 때문에 sum+= count 를 통헤 누적값을 더해놓는 것입니다.
  1. 마지막으로 바깥 for문에서 sum 값을 출력하면 문제 5개가 차례대로 실행되어, 누적 점수합이 출력됩니다.


profile
기록하여 기억하고, 계획하여 실천하자. will be a FE developer (HOME버튼을 클릭하여 Notion으로 놀러오세요!)

0개의 댓글