๐Ÿ’ป์šฉ๋‡ฝ ๊ฐœ๋ฐœ ๋…ธํŠธ๐Ÿ’ป
article thumbnail
๋ฐ˜์‘ํ˜•

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ '์ฒด์œก๋ณต' ๋ฌธ์ œํ’€์ด (LV.1)

๋ฌธ์ œ

๋ฌธ์ œ ์ถœ์ฒ˜ : https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=javascript

 

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

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

programmers.co.kr

ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๊ทธ๋ฆฌ๋””

๋‚œ์ด๋„: LV.1

ํ’€์ด ์ฝ”๋“œ ๐Ÿ’ก

function solution(n, lost, reserve) {
    let answer = n - lost.length;
    const realLost = lost.sort((a,b) => a  - b).filter(item => !reserve.includes(item));
    answer += lost.length - realLost.length;
    const realReserve = reserve.sort((a,b) => a-b).filter(item => !lost.includes(item));

    for(let i = 0; i < realLost.length; i++) {
        for(let j = 0; j < realReserve.length; j++){
            if(Math.abs(realLost[i] - realReserve[j]) === 1) {
                answer++;
                realReserve.splice(j, 1);
                break;
            } 
        }
    }

    return answer;
}
๋ฐ˜์‘ํ˜•

ํ’€์ด ํ•ด์„ค ๐Ÿ’ก

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋””๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋‹ค.

๋จผ์ € lost์™€ reserve๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ค€ ํ›„์— lost์™€ reserve ๋ฐฐ์—ด์—์„œ ๊ฒน์น˜๋Š” ๊ฐ’์ด ์—†๋Š” ๊ฐ’๋“ค๋กœ๋งŒ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค.

 

๊ทธ ์ด์œ ๋Š” ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋–„๋ฌธ์ธ๋ฐ,

 

์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ์•ˆ ํ–ˆ์„ ์‹œ์—๋Š” lost์™€ reserve ๋ฐฐ์—ด์˜ ๊ฐ’๋“ค์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ์ด ์ฃผ์–ด์งˆ ๊ฑฐ๋ž€ ๋ณด์žฅ์ด ์—†๊ธฐ ๋–„๋ฌธ์— ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

๊ฒน์น˜๋Š” ๊ฐ’๋“ค์„ ์ฒ˜๋ฆฌ ์•ˆ ํ•ด์ฃผ๊ฒŒ ๋˜๋ฉด

n lost reserve Return
5 [4, 5] [3, 4] 4

์œ„์™€ ๊ฐ™์€ ์ž…๋ ฅ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํ†ต๊ณผ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ ์ถ”์ถœํ•œ lost ๋ฐฐ์—ด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.

ํ•ด๋‹น ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— reserve ๋ฐฐ์—ด๋„ ๊ฐ™์ด ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๋ฌธ์ œ์—์„œ ์ž์‹ ์˜ ์•ž ๋˜๋Š” ๋’ค์— ํ•™์ƒ์—๊ฒŒ๋งŒ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์žƒ์–ด๋ฒ„๋ฆฐ ์‚ฌ๋žŒ๊ณผ ๋นŒ๋ ค์ฃผ๋ ค๋Š” ์‚ฌ๋žŒ์˜ ์ฐจ์ด๊ฐ€ 1๋งŒํผ ๋‚˜๋ฉด ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๋‘˜์˜ ์ฐจ์ด๊ฐ€ 1๋งŒํผ ๋‚˜๋ฉด answer๋ฅผ ์นด์šดํŠธํ•ด์ฃผ๊ณ  reserve์—์„œ ๋นŒ๋ ค์ค€ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค.

๊ฐ’์„ ์‚ญ์ œํ•˜๋Š” ์ด์œ ๋Š” reserve ๋ฐ˜๋ณต๋ฌธ์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์‚ญ์ œ๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋นŒ๋ ค์ค€ ์‚ฌ๋žŒ์ด ๋˜ ๋นŒ๋ ค์ฃผ๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

์žƒ์–ด๋ฒ„๋ฆฐ ํ•™์ƒ์— ๋Œ€ํ•ด์„œ ์ฒด์œก๋ณต์„ ๋นŒ๋ ค์ฃผ๊ฒŒ๋˜๋ฉด reserve ๋ฐ˜๋ณต๋ฌธ์—์„œ break๋ฅผ ํ•จ์œผ๋กœ์จ ๋น ์ ธ๋‚˜์˜จ๋‹ค.

๊ฒฐ๊ณผ ์ œ์ถœ โœ…

์ฝ”๋“œ ์ œ์ถœ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•ด ์ฃผ๋Š” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ์ง์ ‘ ์ œ์ถœ ํ–ˆ์„ ๋•Œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์— ๋น„ํ•ด์„œ ์ •๋ณด๊ฐ€ ์ ์–ด ์˜ˆ์™ธ ์‚ฌํ•ญ์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณจ๋จธ๋ฆฌ๋ฅผ ์•“์€ ๋ฌธ์ œ์˜€๋‹ค.

 

 

๋ฐ˜์‘ํ˜•
profile

๐Ÿ’ป์šฉ๋‡ฝ ๊ฐœ๋ฐœ ๋…ธํŠธ๐Ÿ’ป

@์šฉ๋‡ฝ

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!