첫 시도 실패 사유 : 실행 시간 초과
function solution(id_list, report, k) {
let newArr = id_list.filter( (el,idx) => id_list.indexOf(el) === idx); // 중복된 투표는 한번만 처리 완료
const spaceNextId = function (str) {
let spaceIdx = 0; // 띄어쓰기가 str 몇번째인지 파악
for (let i = 1; spaceIdx === 0; i++) {
// 만약 띄어쓰기가 보이면 spceIdx에 띄어쓰기의 인덱스를 복사
if (str[i] === ' ') {
spaceIdx = i;
// 스페이스 다음부터 끝까지 문자열을 자른것을 리턴
return str.slice(spaceIdx + 1, str.length);
}
}
}
// 투표 중 신고자 말고 신고당한사람만 따로 이름을 모다 reportName 변수에 저장
const reportName = newArr.map( el => {
return spaceNextId(el)
})
// reportName을 이용해 id_list랑 비교하여 신고당한횟수를 숫자로 저장
const reportCount = id_list.map(name => {
let count = 0;
for (let repoName of reportName ) {
if (name === repoName) {
count++
}
}
return count;
})
// 리폿 카운트 리턴
return reportCount
}
느낀점 : 복잡한 논리구조를 단순화 시킬 필요가 있음
k 변수는 왜 있는건지 모르겠음
'코딩공부 > 코딩문제 풀이들' 카테고리의 다른 글
2022-02-02 / 사전식배열에서 특정 순서 찾기 orderOfPresentation (0) | 2022.02.02 |
---|---|
2022-01-15 코드워즈 문제풀이. (0) | 2022.01.15 |
2022-01-03 코드워즈 문제풀이. (0) | 2022.01.03 |
프로그래머스 - 로또의 최고 순위와 로또의 최저 순위 구하기 (0) | 2021.12.26 |