https://www.acmicpc.net/problem/1439
- 사용언어 : node.js
- 알고리즘 : 문자열, 그리디 알고리즘
- Solved.ac Tier : Silver V
node.js 코드
1. 문제 정리
0과 1로 이루어진 문자열울 준다. 다솜씨가 이 문자열을 한 ㅅ수자로 만들려고 한다.
Ex) S= 0001100일때 0000000로 만드는데 단 한번이면 된다.
예시처럼 setNumber로 answer_cnt1은 0으로 바꿀때 총 몇 번 바꿔야 하나 쳐주고 answer_cnt2는 1로 바꿀때 총 몇 번 바뀌는지 코드로 작성 해주었다.
2. 완성 코드
const fs = require('fs');
let input = fs.readFileSync("/dev/stdin").toString().trim().split('');
let setNumber = 0, answer_cnt1 = 0, answer_cnt2 = 0;;
for(let i = 0; i < input.length; i++){
if(setNumber !== parseInt(input[i])){
if(i===0){
answer_cnt1++;
}
else{
if(input[i] !== input[i - 1]){
answer_cnt1++;
}
}
}
}
setNumber = 1;
for(let i = 0; i < input.length; i++){
if(setNumber !== parseInt(input[i])){
if(i===0){
answer_cnt2++;
}
else{
if(input[i] !== input[i - 1]){
answer_cnt2++;
}
}
}
}
console.log(Math.min(answer_cnt1,answer_cnt2))
'백준 알고리즘 > Lang-node.js' 카테고리의 다른 글
[백준/node.js] 1049번 기타줄 (0) | 2022.03.19 |
---|---|
[백준/node.js] 1026번 보물 (0) | 2022.03.19 |
[백준/node.js] 10610번 30 (0) | 2022.03.19 |
[백준/node.js] 1789번 수 들의 합 (0) | 2022.03.18 |
[백준/node.js] 5585번 거스름돈 (0) | 2022.03.18 |