๋ฌธ์ž์—ด ํƒ์ƒ‰ํ•˜๋Š” ๋ฌธ์ œ์ธ๋ฐ, ์–ด๋–ป๊ฒŒ ํƒ์ƒ‰ํ•ด์„œ ๋น„๊ตํ• ๊ฑด์ง€ ์ƒ๊ฐํ•ด๋ณด๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. 

 

1. ๋ฌธ์ œ

์•ž์—์„œ ์ฝ์„ ๋•Œ๋‚˜ ๋’ค์—์„œ ์ฝ์„ ๋•Œ๋‚˜ ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ํšŒ๋ฌธ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜๋ฉด ํ•ด๋‹น ๋ฌธ์ž์—ด์ด ํšŒ๋ฌธ ๋ฌธ์ž์—ด์ด๋ฉด "YES", ํšŒ๋ฌธ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ฉด “NO"๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๋‹จ ํšŒ๋ฌธ์„ ๊ฒ€์‚ฌํ•  ๋•Œ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

์ž…๋ ฅ์˜ˆ์ œ | gooG

์ถœ๋ ฅ์˜ˆ์ œ | YES

 

 

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

(1) ๋ฐฉ๋ฒ•

ํšŒ๋ฌธ ๋ฌธ์ž์—ด์€ ๋ฌธ์ž์—ด ์•ˆ์—์„œ ์ œ์ผ ์•ž๊ณผ ์ œ์ผ ๋์ด ๊ฐ™๋‹ค๋Š” ๋ง์ด๊ณ ,

์•ž์—์„œ๋ถ€ํ„ฐ ํ•œ๊ธ€์ž์™€ ๋’ค์—์„œ ๋ถ€ํ„ฐ ํ•œ๊ธ€์ž๋ฅผ ๋น„๊ตํ•ด์•ผํ•œ๋‹ค. 

๋ฌธ์ž์—ด ๋‚ด์—์„œ 2๊ฐœ์”ฉ ์ง์„ ์ง€์–ด ๋น„๊ตํ•˜๊ฒŒ๋˜๋‹ˆ length/2๋กœ ๋ฒ”์œ„๋ฅผ ์ •ํ•ด ๋ฐ˜๋ณตํ•œ๋‹ค. 

 

(2) ๋ฐฉ๋ฒ•

๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž์—ด์„ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์–ด์„œ ์›๋ž˜ ๋ฌธ์ž์—ด๊ณผ ๋น„๊ตํ•œ๋‹ค. 

 

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

1. ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์†Œ๋ฌธ์ž o r๋Œ€๋ฌธ์ž๋กœ ํ†ต์ผ์‹œํ‚จ๋‹ค. 

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

3. ์•ž์—์„œ๋ถ€ํ„ฐ ๋ฌธ์ž์™€ ๋’ค์—์„œ๋ถ€ํ„ฐ ๋ฌธ์ž ์ง์„์ง€์–ด์„œ ํ™•์ธํ•˜๋ฏ€๋กœ

length/2๋กœ ๋‚˜๋ˆˆ ํšŸ์ˆ˜๋ฅผ ์ ์–ด์ค€๋‹ค.

4. ์กฐ๊ฑด ์•ž์—์„œ๋ถ€ํ„ฐ ๊ธ€์ž์™€ ๋’ค์—์„œ ๋ถ€ํ„ฐ ๊ธ€์ž ๋น„๊ตํ•ด์„œ ๋‹ค๋ฅด๋ฉด NO ๊ฐ™์œผ๋ฉด YES ๋ฆฌํ„ดํ•œ๋‹ค. 

 

function solution(str){
	let answer = "YES";
    str =  str.toLowerCase();
    let len = str.length;
    for(let i = 0; i<Math.floor(len/2); i++){
    	if(str[i] !== str[len-i-1]) return "NO";
    }
    return answer;
}

let str = "gooG";
console.log(solution(str));

 

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

๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. 

1. ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์†Œ๋ฌธ์ž or ๋Œ€๋ฌธ์ž๋กœ ํ†ต์ผ์‹œํ‚จ๋‹ค.

2. ์›๋ž˜ ๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด์„ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๊ฒƒ์„ ๋น„๊ตํ•ด์„œ ๊ฐ™์œผ๋ฉด YES ๋‹ค๋ฅด๋ฉด NO ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

3. ๋ฌธ์ž์—ด์„ String.split() ๋ฉ”์†Œ๋“œ๋กœ ํ•˜๋‚˜์”ฉ ๋–จ์–ดํŠธ๋ ค์„œ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ , 

Array.reverse() ๋ฉ”์†Œ๋“œ๋กœ ๋’ค์ง‘๋Š”๋‹ค. Array.join() ๋ฉ”์†Œ๋“œ๋กœ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ ๋‹ค. 

 

 

String.split()

๋นˆ๋ฌธ์ž์—ด์„ ๋„ฃ๊ณ  splitํ•˜๋ฉด ๋ฌธ์ž ์š”์†Œ๊ฐ€ ํ•˜๋‚˜์”ฉ ๋‚˜๋ˆ„์–ด์ ธ์„œ ๋ฐฐ์—ด์ด ๋œ๋‹ค.

๋ฐฐ์—ดํ™”๊ฐ€ ๋˜์–ด์•ผ reverse ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

Array.reverse()

๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋งŒ๋“œ๋Š” ๋ฉ”์†Œ๋“œ

 

Array.join()

๋ฐฐ์—ด์„ string์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ

 

function solution(str){
	let answer = "YES";
    str = str.toLowerCase();
    if(str.split('').reverse('').join('') !== str) return "NO"
    return answer;
}

let str = "gooG";
console.log(solution(str));

 

 

+ Recent posts