-
팰린드롬 (회문, 문자열 뒤집기) 코딩 테스트 자바스크립트(Java script) 풀어보기코딩테스트 2021. 4. 25. 05:30
안녕하세요. 스카이지예요. 오늘은 팰린드롬 관련 코딩테스트를 준비해보았어요. 제가 준비한 문제를 함께 풀어봅시다!
문제 설명
팰린드롬이란 'eye', 'kayak', 'hannah' 처럼 거꾸로 읽어도 똑같은 문장이나 단어를 뜻합니다. 문장을 입력 받고 팰린드롬인지 아닌지 판별하는 코드를 짜시오.
팰드롬이면 "팰린드롬입니다."를 출력하고 팰린드롬이 아니면 "팰린드롬이 아닙니다."를 출력하시오.
조건
1. if for while문 사용 금지.
2. 입력은 promote로 받기.
출제 의도
이 문제의 출제 의도는 코드를 얼마나 간결하고 가독성 좋게 짤 수 있는지 입니다. 조건문이나 반복문을 사용하지 못하게 하고 JS에 기본 함수나 연산자 같은 기초에 대한 이해를 확인 할 수 있게 유도했습니다.
.
.
.
.
.
.
문제를 풀어보세요!
.
.
.
.
.
.
풀이방법
저 같은 경우는 아래와 같은 방법을 사용하여 4줄로 완성 할 수 있습니다.
var input = prompt('문자열을 입력하시오');
//prompt를 사용하여 사용자로부터 문장을 입력 받는다. 입력 받은 값을 input이라는 변수에 넣는다.
const newStr = input.split('').reverse().join('');
//newStr 변수를 선언하고 input에 있는 문장을 split 함수를 사용하여 공백을 기준으로 나눈다. 그리고 reverse함수를 사용하여 문자열을 거꾸로 뒤집은 후 join 함수로 쪼갠 문자들을 연결해준다. 그렇게 완성된 문장을 newStr에 집어넣는다.
var output = (input === newStr) ? "팰린드롬입니다." : "팰린드롬이 아닙니다.";
//output 변수 선언. input과 newStr를 비교 연산자와 삼항연산자를 사용하여 비교.
//타입을 비교하는게 아니니까 === 사용. if문을 대체하는 용도로 삼항연산자 사용.
input과 newStr 값이 같다면 true. 틀리다면 false의 문장을 출력.
// : (콜론)을 기준으로 앞이 true. 뒤가 false
console.log(output);
//console.log로 output 출력
여러분은 어떻게 푸셨나요? 댓글로 서로의 코드를 리뷰해보는 것도 좋겠습니다! 오늘도 제 글이 도움이 됐다면 좋아요 구독 눌러주세요!