๐Ÿ”’Algorithm

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ(lv2)

devWarrior 2023. 7. 1. 21:00

๋ฌธ์ œ ๐Ÿ”ฝ

https://school.programmers.co.kr/learn/courses/30/lessons/87390

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด ๐Ÿ”ฝ

function solution(n, left, right) {
    var answer = [];

    for (let i = left; i <= right; i++) {
        answer.push(Math.max(i % n, parseInt(i / n)) + 1)
    }

    return answer;
}

๋‚ดํ’€์ด๐Ÿ”ฝ

1. ์‹คํŒจ โŒ  => ( ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ฒ ๋‹ค .. )   

function solution(elements) {
    var answer = 0;
    let stack = []
    
    for(let i=1; i<=elements.length; i++){
        for(let j=0; j<elements.length; j++){
            let sum =0;
            for(let z=j; z<j+i; z++){
                if(z>=elements.length){
                    sum+=elements[z-elements.length+1]
                }else{
                    sum+=elements[z]    
                }
            }   
            stack.push(sum)
        }
    }
    answer = new Set(stack)
    answer = [...answer]
    return answer.length;
}

2. ์„ฑ๊ณต โญ•  

function solution(n, left, right) {
    let answer =[]   
    const returnArrayValue = (index,t)=>{ 
        let num1=Math.ceil((index+1)/t)
        let num2=(index+1)%t 
        if(num2===0){
            num2=t
        }
        if(num1>=num2){
            return num1
        }else{
            return num2
        }
    }
    for(let i=left; i<=right; i++){
        answer.push(returnArrayValue(i,n))
    }

    return answer
}

 

๋А๋‚€์ ๐Ÿ”ฝ

์—ฐ์‚ฐ์—์„œ ()๋ฅผ ํ•˜์ง€ ์•Š์•„ num1 = Math.ceil((index+1)/t)  โ—€ ์š”๋ถ€๋ถ„์—์„œ ๊ณ„์† ์—๋Ÿฌ๊ฐ€ ๋‚ฌ์—ˆ๋‹ค.... 

๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ์ฝ์ง€์•Š์•„์„œ๋„ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ ธ๋‹ค...