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

주인장 GitHub 바로가기

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

    인기 글

    hELLO · Designed By 정상우.
    Lv1_junior_dev

    자라나라실력실력

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

    [JAVASCRIPT] 백준 1475번 문제 풀이

    2022. 12. 10. 12:24

    ❗ 조건

    1. 6은 9로 뒤집어 쓸 수 있고 9는 6으로 뒤집어서 쓸 수 있다 = 6,9는 동일한 숫자를 취급한다는 말이기 때문에 6의 누적 값과 9의 누적 값을 더한 후 2로 나눈 뒤 반올림 하면 6과 9를 동일한 숫자로 취급할 수 있음

    2. 카드팩에서 가장 많이 쓰는 수를 기준으로 하면 카드팩을 몇 장 쓰는지 알 수 있음

    let input = require('fs').readFileSync('dev/stdin').toString().trim().split('');
    
    function objectFunc(arr) {
      let card = {6:0, 9:0}
      for(const el of arr) {
        card[el] = (card[el] || 0) + 1;
      }
    
        card[6] = Math.ceil((card[6] + card[9])/2)
    
        card[9] = 0
    
      return card;
    }
    
    console.log(Math.max.apply(null, Object.values(objectFunc(input))))

     

     

    ❗ 풀이

    objectFunc()

    1. 함수 아래 연산에서 인덱스 6번과 9번 없을 때 undefined 값을 방지하기 위해서 미리 객체에 6과 9의 key에 대한 value를 0으로 지정

    2. input값을 기반으로 key 생성하면서 해당 key값이 있을 경우 그 key값에 value값에 1을 더함

    3. "조건에 대한 풀이 1번 참고"

    4. card object를 return

    5. card object의 최대값을 출력

     

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

    [JAVASCRIPT] 백준 1181번 문제 풀이  (0) 2022.12.27
    [JAVASCRIPT] 백준 1764번 문제 풀이  (0) 2022.12.13
    [JAVASCRIPT] 백준 10610번 문제 풀이  (0) 2022.11.23
    [JAVASCRIPT] 백준 9095번 문제 풀이  (0) 2022.09.29
    [JAVASCRIPT] 백준 17202번 문제 풀이  (0) 2022.09.28
      '알고리즘 풀이' 카테고리의 다른 글
      • [JAVASCRIPT] 백준 1181번 문제 풀이
      • [JAVASCRIPT] 백준 1764번 문제 풀이
      • [JAVASCRIPT] 백준 10610번 문제 풀이
      • [JAVASCRIPT] 백준 9095번 문제 풀이
      Lv1_junior_dev
      Lv1_junior_dev
      나는 성장이 고프다. 자라나라 개발 실력 !

      티스토리툴바