728x90
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 |