티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/131128
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
filter()
function solution(X, Y) {
const common = []
for(let i = 0; i < 10; i++) {
const XLength = X.split("").filter(v => Number(v) === i).length
const YLength = Y.split("").filter(v => Number(v) === i).length
for(let j = 0; j < Math.min(XLength, YLength); j++ ) {
common.push(i)
}
}
common.sort((a, b) => b - a)
if(common[0] === 0) return "0"
return common.length > 0 ? common.join("") : "-1"
}
- 반복문에서 X와 Y를 배열로 만든 후 filter를 이용해 해당 i 값만 남김
- X와 Y의 length를 구해 몇 개의 i가 있는지 확인
- Math.min() 이용해 X의 길이, Y의 길이가 더 작은 것을 찾아 작은 걸 기준으로 answer 배열에 추가
- 내림차순 정렬하여 반환
- 공통된 것이 없을 경우 -1 반환
- 0 판별

테스트 11-15번 초수가 엄청 많이 나왔다..
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] Lv.0 - 가장 가까운 같은 글자 (javascript) (0) | 2023.01.29 |
|---|---|
| [프로그래머스] Lv.0 - 문자열 나누기 (javascript) (0) | 2023.01.28 |
| [프로그래머스] Lv.0 - 대문자와 소문자 (javascript) (0) | 2023.01.25 |
| [프로그래머스] Lv.0 - 숫자 찾기 (javascript) (0) | 2023.01.24 |
| [프로그래머스] Lv.0 - 세균 증식 (javascript) (0) | 2023.01.23 |
댓글
