❗ 풀이
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('');
let array0 = [];
let array1 = [];
let string = "";
function solution(min_num, max_num, array){
for (let i = 0; i < input.length; i++) {
if (input[i] === min_num) {
string += input[i];
if (input[i + 1] === max_num || input[i + 1] === undefined) {
array.push(string);
string = "";
}
}
}
}
solution("0","1",array0)
solution("1","0",array1)
console.log(Math.min(array0.length, array1.length));
1. 0을 뒤집는게 빠른지 1을 뒤집는게 빠른지 확인할 빈배열, 문자열을 합치기 위한 변수 생성
2. solution 함수안에 있는 반복문에서는 input의 길이만큼 반복하고 min_num이 0이면 0 문자열을 합쳐서 array0 배열에 넣고 합친 문자열 초기화
3. min_num이 1이면 문자열 1을 합쳐서 array1 배열에 넣고 합친 문자열 초기화
4. 이렇게하면 0을 뒤집었을 때와 1을 뒤집었을 때 횟수 값이 나오고 Math.min을 통해 작은 길이의 수를 출력
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 4949번 문제 풀이 (0) | 2023.02.10 |
---|---|
[JAVASCRIPT] 백준 1302번 문제 풀이 (0) | 2023.02.07 |
[JAVASCRIPT] 백준 14425번 문제 풀이 (3) | 2023.01.19 |
[JAVASCRIPT] 백준 1181번 문제 풀이 (0) | 2022.12.27 |
[JAVASCRIPT] 백준 1764번 문제 풀이 (0) | 2022.12.13 |