햄버거 만들기

실패

function solution(ingredient) {
    let count = 0;
    if(ingredient.length === 0) {
        return 0;
    }
    for(let i = 0; i < ingredient.length; i++) {
        if(ingredient[i] === 1) {
            if(ingredient[i+1] === 2) {
                if(ingredient[i+2] === 3) {
                    if(ingredient[i+3] === 1) {
                        ingredient.splice(i, 4);
                        count++;
                        i = 0;
                    }
                }
            }
        }
    }
    return count;
}

console.log(solution([2, 1, 1, 2, 3, 1, 2, 3, 1]));

join 으로 문자열로 만든 다음
replace 안됨
slice, indexOf 도 안됨

과한 반복문 x
stack을 이용하라


신고 결과 받기

실패

function solution(id_list, report, k) {
    for(let i = 0; i < report.length; i++) {
        for(let j = i + 1; j < report.length; j++) {
            if(report[i] === report[j]) {
                report.splice(j, 1);
                i--
            }
        }
    }
    console.log(report);

    let newReport = [];
    for(let i of report) {
        newReport.push(i.split(' '));
    }
    
    console.log(newReport);
    let obj = {};
    for(let i in id_list) {
        for(let j of newReport) {
            if(id_list[i] === j[0]) {
                if(!Object.keys(obj).includes(j[1])) {
                    obj[j[1]] = 0;
                }
                obj[j[1]]++;
            }
        }
    }
    console.log(obj);
    let arr = [];
    for(let i in obj) {
        if(obj[i] >= k) {
            for(let j of newReport) {
                if(i === j[1]) {
                    arr.push(j[0]);
                }
            }
        }
    }
    console.log(arr);
    let result = [];
    let count = 0;
    for(let i of id_list) {
        for(let j of arr) {
            if(i === j) {
                count++;
            }
        }
        let newCount = count;
        count = 0;
        result.push(newCount);
    }
    return result;
}

console.log(solution(["muzi", "frodo", "apeach", "neo"], 
["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"], 2));

맞는거 같은데 시간초과
쉬운 문제부터 풀면서 반복문을 줄이는 방법을 알아나가야 겠다.

+

for in 의 i는 문자열 for 문의 j는 숫자이다.

for(let i in report) {
    console.log(typeof i); // string
}
for(let j = i + 1; j < report.length; j++) {
    console.log(typeof j) // number
}

카테고리:

태그:

업데이트:

댓글남기기