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] 백준 1764번 문제 풀이
    알고리즘 풀이

    [JAVASCRIPT] 백준 1764번 문제 풀이

    2022. 12. 13. 19:37

    ❗ 조건

    조건 1. 듣도 못한 사람과 보도 못한 사람의 명단은 중복되는 이름이 없음 -> set() 활용

    조건 2. 듣보잡의 수와 그 명단은 사전순으로 출력 -> sort() 활용

    조건 3. 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어짐

    조건 4. 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

    let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
    
    const [N, M] = input.shift().split(' ');
    
    let n_set = new Set();
    let m_set = new Set();
    
    for(let i=0; i<input.length; i++) {
      if(i < N) {
        n_set.add(input[i]);
      } else {
        m_set.add(input[i]);
      }
    }
    
    const intersect = [...n_set].filter(data => m_set.has(data)).sort()
    
    console.log(intersect.length)
    intersect.forEach(element => {
      console.log(element)
    });

    ❗ 풀이

    1. 첫 줄에서 주어진 듣도 못한 사람과 보도 못한 사람의 갯수를 shift를 이용해서 빼낸 뒤에 split을 이용해 쪼개서 N과 M으로 정의

    2. N과 M이 들어갈 Set() 정의

    3. 듣도 못한 사람의 명단을 앞서 정의한 n_set()에 add하고 보도 못한 사람의 명단을 m_set()에 add하는 input(이름이 들어가있는 배열)의 길이만큼 반복함

    -> 이렇게 하면 듣도 못한 사람과 보도 못한 사람의 Set()에 이름 값들이 들어가게 되고 중복은 알아서 제거됨

    4. 두 Set()을 합집합하고 해당 집합을 배열로 변환 후 sort()를 통해 사전순으로 정렬

    5. 정답 출력

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

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

      티스토리툴바