알고리즘 공부/CodeUp 문제풀이

코드업 2721:순환 문자열

티들 2023. 9. 21. 23:52

문제 설명
영어 소문자로 구성된 단어 S1, S2, S3가 있을때,

S1의 마지막 문자가 S2의 첫 글자와 같고,

S2의 마지막 글자가 S3의 첫 글자와 같고,

S3의 마지막 글자가 S1의 첫 글자와 같으면 순환 문자열이라고 한다.

예를 들어 turtle error robot 인 경우 순환 문자열이다.

세 단어가 주어졌을 때 순환 문자열이면 good을 출력, 아니면 bad를 출력하시오.

 

입력

영어 소문자로 구성된 단어 S1, S2, S3가 각 줄에 한개씩 입력된다.(각 문자열에 공백은 없으며 길이는 2글자 이상 20글자 이하이다.)

 

출력

순환 문자열이면 good을 출력, 아니면 bad를 출력하시오.

 

입력 예시

turtle

error

robot

 

출력 예시

good

 

나의 코드

#include <stdio.h>

int main()
{
    int i;
    char str[20], a, b;
    for(i=0;i<4;i++)
    {
        if(i==3) {		// 마지막 반복 비교
            if(b != a)
            {
                printf("bad");
                return 0;
            }
            continue;
        }
        scanf("%s", str);
        if(i==0) {	// 비교할 대상없으니 다음으로 넘어감
            b=str[strlen(str)-1];
            a = str[0];
            continue;
        }
        if(b != str[0]) {	// 조건검사
            printf("bad");
            return 0;
        }
        b=str[strlen(str)-1];	// 마지막 알파벳저장
    }
    printf("good");
    return 0;
}

 

문제 바로가기 : https://codeup.kr/problem.php?id=2721