프로그래머스/구현
[구현] 프로그래머스 '불량 사용자' - js
bbeyak
2023. 5. 5. 23:37
반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/64064
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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;
}
이해에 참고한 블로그)
[Javascript/Algorithm] 프로그래머스 — 불량 사용자 (Lv.2)
#순열 #조합
bokjiho.medium.com
이것이야말로 빡구현 문제라고 할 수 있겠다. 요즘 코테에서 자주 나오는 문제... 어렵지만 빡구현 문제 타파를 위해 앞으로 빡구현 문제들 위주로 준비해야겠다! 그래도 너무 어렵쟈나~~!! ㅠㅠ 시간안에 어케 푸냐구ㅠㅠㅋㅋㅋ
복기
6/24
반응형