앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.
문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력 하는 프로그램을 작성하세요.
단 회문을 검사할 때 대소문자를 구분하지 않습니다.
없음
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.
▣ 입력예제 1
▣ 출력예제 1
function solution(s) {
let answer = "YES";
s = s.toLowerCase();
let len = s.length;
for (let i = 0; i < Math.floor(len / 2); i++) {
if (s[i] != s[len - i - 1]) return "NO";
}
return answer;
}
let str = "goooG";
console.log(solution(str));
function solution(s) {
let answer = "YES";
s = s.toLowerCase();
return answer;
}
let str = "goooG";
console.log(solution(str));
toLowerCase()
메소드를 사용하여 소문자로 통일해준다.function solution(s) {
let answer = "YES";
s = s.toLowerCase();
let len = s.length;
for (let i = 0; i < Math.floor(len / 2); i++) {}
return answer;
}
let str = "goooG";
console.log(solution(str));
Math.floor(str 길이 / 2)
값 만큼 for 문을 돌도록 한다.function solution(s) {
let answer = "YES";
s = s.toLowerCase();
let len = s.length;
for (let i = 0; i < Math.floor(len / 2); i++) {
if (s[i] != s[len - i - 1]) return "NO";
}
return answer;
}
let str = "goooG";
console.log(solution(str)); // YES
len - i - 1
의 i 번째 값이랑 같지 않을 경우, "NO"를 return 하도록 했다.function solution(s) {
let answer = "YES";
s = s.toLowerCase();
if (s.split("").reverse().join("") != s) return "NO";
return answer;
}
let str = "gooG";
console.log(solution(str));
function solution(s) {
let answer = "YES";
let str = s.toUpperCase();
return answer;
}
let str = "gooG";
let str2 = "Staeer";
console.log(solution(str));
console.log(solution(str2));
toLowerCase()
메소드를 사용하여 소문자로 통일 해준다.function solution(s) {
let answer = "YES";
let str = s.toUpperCase();
console.log(str.split(""));
// ['G', 'O', 'O', 'G']
// ['S', 'T', 'A', 'E', 'E', 'R']
return answer;
}
let str = "gooG";
let str2 = "Staeer";
console.log(solution(str));
console.log(solution(str2));
split("")
를 사용해서 배열을 생성하고, 문자열 한글자 한글자를 쪼개준다.function solution(s) {
let answer = "YES";
let str = s.toUpperCase();
console.log(str.split("").reverse());
// ['G', 'O', 'O', 'G']
// ['R', 'E', 'E', 'A', 'T', 'S']
return answer;
}
let str = "gooG";
let str2 = "Staeer";
console.log(solution(str));
console.log(solution(str2));
reverse()
를 사용하여, 쪼개진 문자열을 담고 있는 배열을 뒤집어준다.function solution(s) {
let answer = "YES";
let str = s.toUpperCase();
console.log(str.split("").reverse().join(""));
// GOOG
// REEATS
return answer;
}
let str = "gooG";
let str2 = "Staeer";
console.log(solution(str));
console.log(solution(str2));
join("")
메서드를 사용해서 배열 안의 모든 문자열 요소를 연결하여 하나의 문자열로 변환한다.function solution(s) {
let answer = "YES";
let str = s.toUpperCase();
if (str !== str.split("").reverse().join("")) {
return "NO";
}
return answer;
}
let str = "gooG";
let str2 = "Staeer";
console.log(solution(str));
console.log(solution(str2));
console.log()
를 참고하여, 만약 인자로 받은 문자열 str이 str.split("").reverse().join("")
(뒤집은 문자열) 과 같지 않는다면, "NO"를 return 하도록 작성해주었다.toLowerCase()
메서드toLowerCase()
메서드는 문자열을 소문자로 변환해 반환합니다.Example
const sentence = 'The quick brown fox jumps over the lazy dog.';
console.log(sentence.toLowerCase());
// expected output: "the quick brown fox jumps over the lazy dog."
Math.floor()
메서드Math.floor()
함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.Example
console.log(Math.floor(5.95));
// expected output: 5
console.log(Math.floor(5.05));
// expected output: 5
console.log(Math.floor(5));
// expected output: 5
console.log(Math.floor(-5.05));
// expected output: -6
split()
메서드split()
메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.Example
const chars = str.split('');
console.log(chars[8]);
// expected output: "k"
const strCopy = str.split();
console.log(strCopy);
// expected output: Array ["The quick brown fox jumps over the lazy dog."]
reverse()
메서드reverse()
메서드는 배열의 순서를 반전합니다. 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 됩니다.Example
const array1 = ['one', 'two', 'three'];
console.log('array1:', array1);
// expected output: "array1:" Array ["one", "two", "three"]
const reversed = array1.reverse();
console.log('reversed:', reversed);
// expected output: "reversed:" Array ["three", "two", "one"]
// Careful: reverse is destructive -- it changes the original array.
console.log('array1:', array1);
// expected output: "array1:" Array ["three", "two", "one"]
join()
메서드join()
메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.Example
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"