블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에 있습니다
문제
풀이
전체 코드
const solution = (input) => {
const ls = input.slice(1, +input[0] + 1);
return ls.reduce((cnt, l) => {
const visit = {};
const cl = l.split('');
for (let i = 0; i < cl.length; i++) {
const c = cl[i];
if (!visit[c]) {
visit[c] = true;
} else {
if (c !== cl[i - 1]) {
return cnt;
}
}
}
return cnt + 1;
}, 0);
};
const input = [];
require('readline')
.createInterface({ input: process.stdin })
.on('line', (line) => input.push(line))
.on('close', (_) => {
console.log(solution(input));
process.exit(0);
});
상세 풀이
입력값을 각 1개씩 나눠서 이미 나온 영문자인지 확인할 수 있는 map을 생성했다.
이미 한번 나온적이 있는 영문자이고, 이전 값과 다른 경우(연속하지 않은 경우) 그룹 단어가 아니다. 예를들어,
aabb (O)
aabba (X)
전체 코드
https://github.com/bluemiv/Algorithm/blob/master/baekjoon/nodejs/src/ex01/ex1316.js
풀이 결과
관련 글
2022.07.21 - [Algorithm/Beakjoon] - jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
백준 11654번 / 아스키 코드 (nodejs 알고리즘 풀이) (2) | 2022.09.02 |
---|---|
백준 2908번 / 상수 (nodejs 알고리즘 풀이) (0) | 2022.08.31 |
백준 1152번 / 단어의 개수 (nodejs 알고리즘 풀이) (0) | 2022.08.30 |
백준 2675번 / 문자열 반복 (nodejs 알고리즘 풀이) (0) | 2022.08.29 |
백준 10818번 / 최소, 최대 (nodejs 알고리즘 풀이) (0) | 2022.08.27 |