코딩 테스트 풀이 체크리스트 |
|
2시간 내에 풀었는가? | O |
본인의 실력으로 풀었는가? | O |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(id_list, report, k) {
let answer = new Array();
let list = new Array();
let count = new Array();
//자바스크립트의 배열의 경우 자료형을 정해놓지 않고 선언하기 때문에 한 번은 값을 넣어줘야 나중에 null이 생기지 않음
for (let i = 0; i < id_list.length; i++) {
list[id_list[i]] = new ID(); //유저가 신고한 아이디를 담기 위한 배열
count[id_list[i]] = 0; //유저의 신고 당한 수를 카운트하기 위한 배열
answer[i] = 0; //유저가 신고한 아이디가 정지된 개수
}
for (let i = 0; i < report.length; i++) {
let s = report[i].split(" "); //띄어쓰기로 구분되어 있기 때문에 split으로 문자열 나누기
//만약 유저가 신고한 적 있는 아이디면 continue
if (list[s[0]].check(s[1])) continue;
//없으면 배열에 추가하고 신고 당한 수 +1
list[s[0]].add(s[1]);
count[s[1]]++;
}
//id_list 순서로 해당 유저가 신고한 아이디가 k를 넘었는지 체크
for (let i = 0; i < id_list.length; i++) {
let arr = list[id_list[i]].arr;
for (let j = 0; j < arr.length; j++) {
if (count[arr[j]] >= k) answer[i]++;
}
}
return answer;
}
//ID라는 객체 생성해서 배열을 만들었음
class ID {
constructor(){
this.arr = new Array();
}
add = function(name) {
this.arr.push(name);
}
check = function(name) {
if (this.arr.indexOf(name) != -1) return true;
return false;
}
}
테스트 1 〉 | 통과 (0.35ms, 30.1MB) |
테스트 2 〉 | 통과 (0.39ms, 30.1MB) |
테스트 3 〉 | 통과 (190.55ms, 72.4MB) |
테스트 4 〉 | 통과 (0.28ms, 30.1MB) |
테스트 5 〉 | 통과 (0.25ms, 30.1MB) |
테스트 6 〉 | 통과 (3.62ms, 30.2MB) |
테스트 7 〉 | 통과 (4.13ms, 30.3MB) |
테스트 8 〉 | 통과 (10.02ms, 32.6MB) |
테스트 9 〉 | 통과 (92.42ms, 50.9MB) |
테스트 10 〉 | 통과 (88.11ms, 51.7MB) |
테스트 11 〉 | 통과 (209.13ms, 72.6MB) |
테스트 12 〉 | 통과 (0.84ms, 30MB) |
테스트 13 〉 | 통과 (1.38ms, 30.1MB) |
테스트 14 〉 | 통과 (86.74ms, 50MB) |
테스트 15 〉 | 통과 (172.05ms, 55.5MB) |
테스트 16 〉 | 통과 (0.61ms, 30MB) |
테스트 17 〉 | 통과 (0.83ms, 29.9MB) |
테스트 18 〉 | 통과 (0.95ms, 30.1MB) |
테스트 19 〉 | 통과 (1.42ms, 30.1MB) |
테스트 20 〉 | 통과 (128.01ms, 49MB) |
테스트 21 〉 | 통과 (152.67ms, 55.9MB) |
테스트 22 〉 | 통과 (0.16ms, 30MB) |
테스트 23 〉 | 통과 (0.30ms, 29.8MB) |
테스트 24 〉 | 통과 (0.14ms, 30.1MB) |
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 - 단어 변환 (3단계) (0) | 2022.08.01 |
---|---|
[Java] 프로그래머스 - 사칙연산 (4단계) (0) | 2022.08.01 |
[Java] 프로그래머스 - 등굣길 (3단계) (0) | 2022.07.27 |
[JavaScript] 프로그래머스 - 큰 수 만들기 (2단계) (0) | 2022.07.25 |
[Java] 프로그래머스 - 큰 수 만들기 (2단계) (0) | 2022.07.25 |