목록1차 (2)
N

string 형태로 점수가 들어온다. 가장 크게 분리해야 할 것은 1) 숫자 2) 알파벳('S', 'D', 'T') 3) 보너스('*', '#') 로 분리를 하여 점수를 합산해야 한다. score는 현재 처리하고 있는 점수, prev는 보너스 점수를 처리하기 위해 이전 점수를 저장한 변수이다. 1) 숫자 숫자는 0 ~ 10 사이의 점수로 dartResult[i] 번째에 있는 문자가 0 ~ 9 사이인지 판별한다. 그리고 dartResult[i + 1]이 0이면 점수는 10점이 되므로 score에 10을 저장 후 i++, 아니라면 0 ~ 9 에 해당하는 점수를 score에 저장한다. 2)알파벳('S', 'D', 'T) dartResult[i] 가 'S' or 'D' or 'T' 인지 판단한다. 'S'는 sc..

문제의 핵심은 OR 연산을 이용하는 것..! arr1과 arr2의 i번째에 있는 두 수를 or연산을 통해 arr1[i] 번째에 다시 저장한다. 이때 string형 tmp를 선언한다. OR 연산을 통해 나온 결과를 이진법을 통해 해석해야 한다. 2로 나누었을 때 나머지가 0이면 ' '(공백)을 tmp에 넣어주고, 나머지가 1이면 '#'을 tmp에 넣어준다. 이때, tmp의 사이즈는 n이어야 한다..! while문을 통해 n만큼 문자를 넣어주고, answer에 넣기 전에 reverse를 통해 tmp를 뒤집어주었다. (tmp에 거꾸로 들어가기 때문에 바로잡기 위해 reverse() 함수를 사용하였다..!) 이 문제에서 많이 틀리는 부분이 아마 해석한 결과의 길이와 n이 같지 않아서일 것 같다..! n의 길이만..