알고리즘 풀이
[JAVASCRIPT] 백준 1439번 문제 풀이
Lv1_junior_dev
2023. 1. 31. 19:38
❗ 풀이
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을 통해 작은 길이의 수를 출력