Lv1_junior_dev
자라나라실력실력
Lv1_junior_dev
전체 방문자
오늘
어제

주인장 GitHub 바로가기

    • 분류 전체보기 (112)
      • 주절주절 (6)
      • 프로젝트 회고록 (3)
      • 꿀팁 (3)
      • 알고리즘 풀이 (26)
      • 이것 저것 (2)
      • 자바스크립트 - Vanilla JS (25)
      • 자바스크립트 - React.js (37)
      • 자바스크립트 - Next.js (4)
      • 자바스크립트 - TypeScript (5)
      • HTML (0)
      • CSS (1)

    인기 글

    hELLO · Designed By 정상우.
    Lv1_junior_dev

    자라나라실력실력

    [JAVASCRIPT] 백준 1439번 문제 풀이
    알고리즘 풀이

    [JAVASCRIPT] 백준 1439번 문제 풀이

    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을 통해 작은 길이의 수를 출력

    '알고리즘 풀이' 카테고리의 다른 글

    [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
      '알고리즘 풀이' 카테고리의 다른 글
      • [JAVASCRIPT] 백준 4949번 문제 풀이
      • [JAVASCRIPT] 백준 1302번 문제 풀이
      • [JAVASCRIPT] 백준 14425번 문제 풀이
      • [JAVASCRIPT] 백준 1181번 문제 풀이
      Lv1_junior_dev
      Lv1_junior_dev
      나는 성장이 고프다. 자라나라 개발 실력 !

      티스토리툴바