문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/131128
다른사람 풀이 🔽
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 === 0) return '0';
return [...result]
.map((num) => +num)
.sort((a, b) => b - a)
.join('');
}
내풀이🔽
1. 성공 ⭕
function solution(X, Y) {
let sumString=''
for(let i=9; i>=0; --i){
let array1 =[...X].filter((val)=>{ return Number(val)===i})
let array2 =[...Y].filter((val)=>{ return Number(val)===i})
sumString+=String(i).repeat(Math.min(array1.length,array2.length))
}
if(sumString==='') return "-1"
if(Number(sumString)===0) return "0";
return sumString
}
}
느낀점🔽
문자열 => 배열로 바꾸는 방법을 복기해보자
const array = [...string]
const array = Array.from(string)
const array = string.split('')
문자열 관련 method
str.replace("a", "") => str이라는 문자열에서 가장 가까운 "a"를 찾아 ""뺀 새로운 문자열을 반환한다!
sort 메서드는 원본배열에도 영향을 끼친다
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 개인정보 수집 유효기간(lv1) (0) | 2023.07.24 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 최대공약수와 최소공배(lv1) (0) | 2023.07.23 |
프로그래머스 코딩테스트 풀이(js) > 행렬의 덧셈(lv1) (0) | 2023.07.21 |
프로그래머스 코딩테스트 풀이(js) > 크레인 인형 뽑기 게임(lv1) (0) | 2023.07.20 |
프로그래머스 코딩테스트 풀이(js) > 모의고사(lv1) (0) | 2023.07.19 |