프로그래머스 Lv.1 숫자짝꿍

Kim Jason·2023년 4월 3일
0

알고리즘 노트

목록 보기
13/35
post-thumbnail

💁🏻 코드

function solution(X, Y) {
    let result = '';
    const numObj = {};

    for (const char of X) {
        numObj[char] = (numObj[char] || 0) + 1;
    }

    for (const char of Y) {
        if (!numObj[char]) continue;
        result += char;
        numObj[char]--;
    }

    if (!result) return '-1';
    if (!+result) return '0';
    return [...result]
        .map((num) => +num)
        .sort((a, b) => b - a)
        .join('');    
}

입력값의 크기는 다음과 같다.

  • 3 <= 문자열 X, Y 의 길이 <= 3,000,000

이중 for문은 절대로 사용하면 안된다고 생각했다.
검색을 위해서는 객체를 사용하자!

profile
성장지향형 프론트엔드 개발자

0개의 댓글