๐Ÿ’ป FE/๐Ÿ“ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

ํ”„๋ฆฐํ„ฐ / ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ

Roy Miller 2023. 2. 27. 16:06

 

๐Ÿ”—

์ฐธ๊ณ ๊ธ€

 

 

๐Ÿ”ฅ ์ฃผ์–ด์ง€๋Š” ๊ฒƒ

1) ์ผ์˜ ์ค‘์š”๋„๊ฐ€ ํ‘œ์‹œ๋œ ๋ฐฐ์—ด

2) ์ถœ๋ ฅ ์ˆœ์„œ๊ฐ€ ๊ถ๊ธˆํ•œ ์š”์†Œ์˜ ์ธ๋ฑ์Šค ๋„˜๋ฒ„(๋กœ์ผ€์ด์…˜)

 

๐Ÿ”ฅ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ

๋ฐฐ์—ด์˜ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋˜, ์š”์†Œ์˜ ์ค‘์š”๋„๊ฐ€ ๋’ค์— ์žˆ๋Š” ๊ฒƒ ๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด ๋งจ ๋’ค๋กœ ๋„˜๊ธธ ๊ฒƒ(ํ•œ๋ฒˆ์— ์ •๋ ฌX)

 

[2, 1, 3, 2] ๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๊ณ  ๋กœ์ผ€์ด์…˜์ด 2์ธ(์ค‘์š”๋„ 3์ธ ์š”์†Œ) ๊ฒฝ์šฐ,

 

1, 3, 2, 2 (๋‹ต ++!)

3, 2, 2, 1 (๋‹ต ++1)

 

๋กœ ๊ฒฐ๊ณผ๋Š” 2

 

์ด๋Ÿฐ์‹์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•ด์•ผํ•จ.

 

 

 

๐Ÿ”ฅ ์–ด๋ ค์› ๋˜ ๊ฒƒ

1. ๋ฌธ์ œ ๊ฐ€๋…์„ฑ์ด ์—๋ฐ”

2. ๋ฐ˜๋ณต๋ฌธ์„ ์–ด๋–ป๊ฒŒ ์ œ์–ด ํ•ด์•ผํ•˜๋Š”๊ฐ€,

 

 

 

 

----------

 

 

1. ์ž๊ธฐ ์ž๋ฆฌ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์™€ ์ค‘์š”๋„๋ฅผ ๋ฌถ์–ด์ฃผ๊ธฐ ์œ„ํ•ด map ์œผ๋กœ ๋ฐฐ์—ด์„ ๋ณ€ํ™” ์‹œ์ผœ์คŒ

์ด๋ ‡๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

 

function solution1(priorities, location) {
    var answer = 0;
    let documents = priorities.map((priority, index) => ({location: index, priority: priority}))
    console.log(priorities)
    console.log(documents)

    let locationPrinted = false
    while (!locationPrinted) {
        const shifted = documents.shift()
        let printAvailable = true

        if (documents.some((document) => shifted.priority < document.priority)) printAvailable = false

        if (printAvailable) {
            answer += 1

            if (shifted.location === location) locationPrinted = true
        } else {
            documents.push(shifted)
        }
    }
    return answer;

 

๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๊ฐ€ ํ˜„์žฌ ์‰ฌํ”„ํŠธ ๋œ ์š”์†Œ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ผ์น˜ํ•˜๋ฉด ํ”„๋ฆฐํŠธ ํ•จ,

 

 

๐Ÿ”ฅ ๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋‚จ