DINGA DINGA
Published 2021. 2. 25. 18:07
[백준] 13235번: 팰린드롬 C & C++/BOJ
728x90

www.acmicpc.net/problem/13235

 

13235번: 팰린드롬

팰린드롬은 앞에서부터 읽을 때와 뒤에서부터 읽을 때가 똑같은 단어를 의미한다. 예를 들어, eve, eevee는 팰린드롬이고, eeve는 팰린드롬이 아니다. 단어가 주어졌을 때, 팰린드롬인지 아닌지 판

www.acmicpc.net

 

코드

#include <stdio.h>
#include <string.h>

int is_palindrome(char arr[], int len) {	//팰린드롬인지 판별하는 함수
	for (int i = 0; i < len / 2; i++)
		if (arr[i] != arr[len - i - 1])
			return 0;
	return 1;
}

main() {
	char s[21];
	scanf("%s", s);
	is_palindrome(s, strlen(s)) == 0 ? printf("false\n") : printf("true\n");
}

 

설명

 

문자열로 단어를 입력 받고, is_palindrome 함수를 통해 팰린드롬인지 판별한다.

is_palindrome에서는 문자열(단어)의 양 끝부터 비교하여 중간 문자까지 모두 비교한다. 과정 중에 하나라도 서로 다른 문자가 나오면 팰린드롬이 아니므로 0을 리턴, 문제가 없으면 팰린드롬이므로 1을 리턴한다.

이후 main함수에서 각 리턴값에 맞게 문구를 출력한다.

 

('1259번: 팰린드롬수' 참고)

728x90

'C & C++ > BOJ' 카테고리의 다른 글

[백준] 1731번: 추론  (0) 2021.03.03
[백준] 2908번: 상수  (0) 2021.02.25
[백준] 1568번: 새  (0) 2021.02.25
[백준] 1371번: 가장 많은 글자  (0) 2021.02.25
[백준] 16503번: 괄호 없는 사칙연산  (0) 2021.02.19