반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/64064
2. 코드
function solution(user_id, banned_id) {
const ch = new Array(user_id.length).fill(0);
const set = new Set();
const isPossible = (uId, bId) => {
if (uId.length !== bId.length) return false;
for (let i = 0; i < uId.length; i++) {
if (bId[i] !== '*' && uId[i] !== bId[i]) return false;
}
return true;
}
const check = (idx, cnt, possible) => {
if (cnt === banned_id.length)
set.add(possible.split(' ').sort().join(''));
if (idx >= banned_id.length) return;
for (let i = idx; i < banned_id.length; i++) {
for (let j = 0; j < user_id.length; j++) {
if (ch[j] === 1) continue;
if (!isPossible(user_id[j], banned_id[i])) continue;
ch[j] = 1;
check(i+1, cnt+1, possible + ' ' + user_id[j]);
ch[j] = 0;
}
}
}
check(0, 0, '');
return set.size;
}
이해에 참고한 블로그)
이것이야말로 빡구현 문제라고 할 수 있겠다. 요즘 코테에서 자주 나오는 문제... 어렵지만 빡구현 문제 타파를 위해 앞으로 빡구현 문제들 위주로 준비해야겠다! 그래도 너무 어렵쟈나~~!! ㅠㅠ 시간안에 어케 푸냐구ㅠㅠㅋㅋㅋ
복기
6/24
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[투포인터] 프로그래머스 '두 큐 합 같게 만들기' - js (0) | 2023.05.08 |
---|---|
[구현] 프로그래머스 '메뉴 리뉴얼' - js (0) | 2023.05.06 |
[구현] 프로그래머스 '124 나라의 숫자' - js (0) | 2023.05.03 |
[구현] 프로그래머스 '삼각 달팽이' - js (0) | 2023.05.02 |
[재귀] 프로그래머스 '쿼드압축 후 개수' - js (0) | 2023.04.29 |