코테 - 팰린드롬/회문

aydennote·2023년 5월 1일
0

Coding_TEST

목록 보기
5/6
post-thumbnail

🕵️‍♀️ 팰린드롬 / 회문(Palindrome)이란?
앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어다.
예를 들어, eye, level, madam이 팰린드롬이라고 할 수 있다.

1. 문자열 변수 활용

	const str1 = 'madam';
	function checkPalindrome(str) {
		let reversed = '';
		for (let i = str.length - 1; i >= 0; i--) {
			reversed += str[i];
		}
		return str === reversed;
	}
    console.log(checkPalindrome(str1));

checkPalindrome 안에 reversed라는 문자열을 담는 변수를 선어하고 기존 문자열 마지막 인덱스부터 하나씩 reversed라는 변수에 문자를 저장해 마지막에 두 문자열을 비교하면 판별이 가능하다.

2. 투 포인터

	const str1 = 'madam';
	const str2 = 'abba';
	const str3 = 'dfdd';
	function checkPalindrome(str) {
		const leng = str.length;
		const middle = Math.floor(str.length / 2);
		for (let i = 0; i < middle; i++) {
			if (str[i] !== str[leng - 1 - i]) {
				return false;
			}
		}
		return true;
	}
    console.log(checkPalindrome(str1));

1. 문자열 변수 활용 방법은 문자열 처음부터 끝까지 반복문이 완료되어야 결과를 알 수 있었다. 하지만 투 포인터 방법은 문자열을 반으로 나눠
맨 앞과 맨 뒤를 비교한다. 이 때, 중간에 틀린 부분이 있다면 false를 반환하고 함수가 종료되기 때문에 효율적인 방법이라고 할 수 있을 것 같다.

profile
기록하는 개발자 Ayden 입니다.

0개의 댓글