๋ฌธ์์ด ํ์ํ๋ ๋ฌธ์ ์ธ๋ฐ, ์ด๋ป๊ฒ ํ์ํด์ ๋น๊ตํ ๊ฑด์ง ์๊ฐํด๋ณด๋ ๋ฌธ์ ์์ต๋๋ค.
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));
'๐กAlgorithm > ๋ฌธ์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS์๊ณ ๋ฆฌ์ฆ | ๋ฌธ์์ด์์ ์ซ์๋ง ์ถ์ถ (0) | 2021.05.06 |
---|---|
JS์๊ณ ๋ฆฌ์ฆ | ์ ํจํ ํฐ๋ฆฐ๋๋กฌ(๋ฌธ์์ดํ์+์กฐ๊ฑด) (0) | 2021.05.05 |
JS์๊ณ ๋ฆฌ์ฆ | ๋ด์ฐ๋ฆฌ (2์ฐจ์ ๋ฐฐ์ด ๋ค๋ฐฉํฅ ํ์) (0) | 2021.05.02 |
JS์๊ณ ๋ฆฌ์ฆ | ๊ฒฉ์ํ ์ต๋ํฉ(2์ฐจ์ ๋ฐฐ์ด) (0) | 2021.05.01 |
JS์๊ณ ๋ฆฌ์ฆ | ๋ฑ์๊ตฌํ๊ธฐ (์ด์คfor๋ฌธ, Array.from) (0) | 2021.04.27 |