반응형
문제 3-1번
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력 하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다.
🍄 입력설명
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.
🍄 출력설명
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.
🍄 입력예제 1
gooG
🍄 출력예제 1
YES
정답 코드
1) for문 탐색
function solution(s) {
let answer = "YES";
s = s.toLowerCase();
let n = s.length;
//배열의 반만 돌면 되니까, 길이의 반만 for문을 돌려준다.
//회문의 특성은 맨 앞 = 맨 뒤 숫자가 같다는 것
for (let i = 0; i < Math.floor(n / 2); i++) {
if (s[i] !== s[n - i - 1]) return "NO";
//만약 위 조건이 성립한다면 answer(YES)가 출력될 것
return answer;
}
}
let str = "gooG";
console.log(solution(str));
//YES 출력
2) s.split("") 문자열 s를 배열로 만들어 줌
reverse() 메서드는 배열의 순서 반전
join("") 배열의 모든 요소를 연결해 새 문자열 반환
function solution(s) {
let answer = "YES";
s = s.toLowerCase();
//s.split("")문자열 s를 배열로 만들어 줌
//reverse()메서드는 배열의 순서 반전
// join("") 배열의 모든 요소를 연결해 새 문자열 반환
if (s.split("").reverse().join("") !== s) return "MO";
return answer;
}
let str = "gooG";
console.log(solution(str));
//YES 출력
728x90
반응형
'알고리즘' 카테고리의 다른 글
[JS] 알고리즘 기초 정복 3-3번_숫자만 추출 (0) | 2021.07.15 |
---|---|
[JS] 알고리즘 기초 정복 3-2번_유효한 팰린드롬 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 2-7번 - 봉우리 🌟 (0) | 2021.07.13 |
[JS] 알고리즘 기초 정복 2-6번 - 격자판 최대합 (0) | 2021.07.13 |
[JS] 알고리즘 기초 정복 2-5번 - 등수구하기 (0) | 2021.07.13 |