1. ๋ฌธ์ œ

ํ•œ ๊ฐœ์˜ ๋ฌธ์ž์—ด s์™€ ๋ฌธ์ž t๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ฌธ์ž์—ด s์˜ ๊ฐ ๋ฌธ์ž๊ฐ€ ๋ฌธ์ž t์™€ ๋–จ์–ด์ง„ ์ตœ์†Œ๊ฑฐ๋ฆฌ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

 

์ž…๋ ฅ์„ค๋ช… |

์ฒซ ๋ฒˆ์งธ ์ค„์— ๋ฌธ์ž์—ด s์™€ ๋ฌธ์ž t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ | teachermode e

์ถœ๋ ฅ์˜ˆ์ œ | 1 0 1 2 1 0 1 2 2 1 0

 

*๋งŒ์•ฝ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ ๋„ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋ฉด, ์ž…๋ ฅ์˜ˆ์ œ์™€ ์ถœ๋ ฅ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด์„œ ์–ด๋–ป๊ฒŒ ๋‚˜์˜ค๋Š”๊ฑด์ง€ ์œ ์ถ”ํ•˜๋Š” ๊ฒƒ๋„ ๋ฌธ์ œํ•ด๊ฒฐ๋Šฅ๋ ฅ์ด๋‹ค. 

 

 

 

2. ์ ‘๊ทผ๋ฐฉ๋ฒ•

๋ฌธ์ž์—ด ์•ž์—์„œ๋ถ€ํ„ฐ ํƒ์ƒ‰, ๋’ค์—์„œ๋ถ€ํ„ฐ ํƒ์ƒ‰ ๋น„๊ตํ•ด์„œ ์ตœ์†Œ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ธฐ

 

๋ฐ˜๋ชฉ๋ฌธ์œผ๋กœ ๋ฌธ์ž์—ด ํ•˜๋‚˜์”ฉ ๋Œ๋ฉด์„œ ํƒ์ƒ‰

e๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ์นด์šดํŒ…ํ•˜๋ฉด์„œ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 

๋ฐ˜๋Œ€๋กœ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ํ•˜๋‚˜์”ฉ ๋Œ๋ฉด์„œ ํƒ์ƒ‰

e๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ์นด์šดํŒ…ํ•˜๋ฉด์„œ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๋น„๊ตํ•ด์„œ ์ตœ์†Œ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค. 

 

 

3. ๋ฌธ์ œํ’€์ด

e์—์„œ๋ถ€ํ„ฐ์˜ ๊ฐ€์žฅ ์งง์€ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฆฌํ„ดํ•ด์•ผํ•œ๋‹ค. 

answer๋ฅผ ๋ฐฐ์—ด๋กœ ๋„ฃ๊ณ , ๊ฐ’์„ ๋ฐฐ์—ด์— pushํ•˜๊ธฐ๋กœ ํ•œ๋‹ค.

์ตœ๋Œ€๋ฌธ์ž์—ด์˜ ๊ธธ์ด 100์ด๋ฏ€๋กœ ๋ณ€์ˆ˜ p๋ฅผ ์ตœ๋Œ€๊ฐ’ 100์œผ๋กœ ์ž‘์„ฑํ•ด์ฃผ๊ธฐ๋กœ ํ•œ๋‹ค.

 

1. ๋ฌธ์ž e์—์„œ ์šฐ์ธก๋ฐฉํ–ฅ์œผ๋กœ์˜ ๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ธฐ

for of ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž์—ด์„ ๋Œ๋ฉด์„œ ๋ฌธ์ž๊ฐ€ e๊ฐ€ ์•„๋‹ˆ๋ฉด p++์„ ํ•ด์ค€๋‹ค.

e์ด๋ฉด 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. 

์ด ๋ฐฉ๋ฒ•์€ ๋ฌธ์ž e์—์„œ ์šฐ์ธก๋ฐฉํ–ฅ์œผ๋กœ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•œ ๊ฒƒ์ด๋‹ค.

 

2. ๋ฌธ์ž e์—์„œ ์ขŒ์ธก๋ฐฉํ–ฅ์œผ๋กœ์˜ ๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ณ  ๋น„๊ต

๋‹ค์‹œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ฐ˜๋Œ€๋กœ ๋ˆ๋‹ค. 

๋ฐ˜๋Œ€๋กœ ๋Œ๋ฉด์„œ e์—์„œ ์ขŒ์ธก๋ฐฉํ–ฅ์œผ๋กœ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•œ๋‹ค. 

์ฆ‰, ์ขŒ์ธก์ด๋“  ์šฐ์ธก์ด๋“  ๋‘˜์ค‘์—์„œ ๊ฐ€์žฅ ๋” ์ž‘์€ ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋„๋ก ํ•œ๋‹ค. 

 

function solution(str, e){
	let answer = [];
    let p = 100; // ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ตœ๋Œ€๊ฐ’ 100์œผ๋กœ ์„ค์ •ํ•ด์ค€๋‹ค. 
    for(x of str){
    	if(x === e){
        	p=0; // p๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์ค€๋‹ค
            answer.push(p);
        } else {
        	p++;
            answer.push(p);
        }
    }
    p = 100; // ๋ฐ˜๋ณต๋ฌธ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ p ์›๋ž˜๋Œ€๋กœ ์ดˆ๊ธฐํ™”
    for(let i = str.length-1; i>=0; i--){
    	if(str[i] ===e){
        	p=0;
        } else {
        	p++;
            answer[i] = Math.min(answer[i], p);
            // ์ฒซ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๋“ค์–ด์žˆ๋Š” p์™€ ํ˜„์žฌ answer[i]๋ฅผ ๋น„๊ตํ•ด์„œ ์ž‘์€ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
        }
     }
     return answer;
}

let str = "teachermode";
console.log(solution(str, 'e');

 

 

 

4. ์‚ฌ์šฉ๊ฐœ๋…

Math.min()

Math.min([value1[, value2[, )

์—ฌ๊ธฐ์„œ value๋Š” ์ˆซ์žํ˜•์ด์–ด์•ผํ•œ๋‹ค. 1๊ฐœ ์ด์ƒ์˜ ์ธ์ž๊ฐ’์ด ์ˆซ์žํ˜•์œผ๋กœ ๋ณ€ํ™˜์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ NaN ๋ฐ˜ํ™˜

+ Recent posts