memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에 있습니다

1. 문제

 

2. 풀이

한 글자씩 iteration을 하면서, X를 만나면 증가시켜줄 점수(score)를 0으로 초기화해준다.

O를 만나면 점수(score) 값을 1씩 증가시켜주면서, 계속해서 총 합을 구하면 된다.

<javascript />
const solution = (input) => { const n = +input[0]; return [...Array(n).keys()] .map((i) => { return input[i + 1].split('').reduce( (acc, c) => { if (c === 'X') { acc.score = 0; } else { acc.score += 1; acc.rs += acc.score; } return acc; }, { rs: 0, score: 0 } ).rs; }) .join('\n'); }; const input = []; require('readline') .createInterface({ input: process.stdin }) .on('line', (line) => input.push(line)) .on('close', (_) => { console.log(solution(input)); process.exit(0); });

 

전체 코드

https://github.com/bluemiv/Algorithm/blob/master/baekjoon/nodejs/src/ex08/ex8958.js

 

GitHub - bluemiv/Algorithm: 알고리즘 풀이

알고리즘 풀이. Contribute to bluemiv/Algorithm development by creating an account on GitHub.

github.com

 

 

2.1. 풀이 결과

문제 풀이 결과

 

3. 관련 글

2022.07.21 - [Algorithm/Beakjoon] - jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기

 

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!