백준(C언어) 풀이/문자열

백준(C) 2941번 크로아티아 알파벳

개발윗미 2021. 7. 14. 23:39

C로 구현한 2941번 크로아티아 알파벳 구하기 문제 풀이입니다.

 

https://www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net


#include <stdio.h>

int main() {
    char input[101];
    int count = 0;
    scanf("%s", input);
    for(int i=0; input[i]!='\0'; i++) {
        if(input[i] == 'c' || input[i]=='s' || input[i]=='z'){
            if(input[i+1]=='=' || input[i+1]=='-')
                continue;
        }
        if(input[i]=='l' || input[i]=='n') {
            if(input[i+1]=='j')
                continue;
        }
        if(input[i] == 'd') {
            if(input[i+1]=='z' && input[i+2]=='=')
                continue;
            if(input[i+1] == '-')
                continue;
        }
        count ++;
    }
    printf("%d", count);
}

 

문자열을 입력받고 입력된만큼 반복문을 수행합니다. 해당 문자가 '변경된 크로아티아 알파벳'의 첫번째 문자일 경우

 

각 조건문을 실행합니다. 해당 조건문에서 '변경된 크로아티아 알파벳'의 두번째 혹은 세번째 문자도 비교할 수 있도록

 

조건문을 또 실행해줌으로써 count 값을 1씩 증가시켜 출력합니다.

 

 

[소감]

이유는 모르겠지만 개인적으로 이 문제를 해결해나가면서 재미를 느꼈다. 또 문제를 보고 아이디어가 바로 생각났고

 

쉽게 해결할 수 있었다 ㅎㅎ 다른 문제들도 더 많이 해결해보면서 얼른 실력을 키워나가야겠다 !!