본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 2941번 - 크로아티아 알파벳 (C++)

by shine-jung 2021. 7. 12.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
문자열을 입력받고 문자열을 순회한다.
    =과 -은 세지 않는다.
    j가 나왔을 때 전의 알파벳이 l이나 n이면 건너뛴다.
    dz=가 연속으로 나오는 경우에는 count에서 1을 뺀다.
*/

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    cin >> s;
    int count = 0;
    for ( int i = 0; i < s.length(); i++ ) {
        if ( i > 1 ) {
            if ( s[i] == '=' && s[i-1] == 'z' && s[i-2] == 'd' ) {
                count--;
                continue;
            }
        }
        if ( s[i] == '=' || s[i] == '-' ) continue;
        if ( i > 0 ) {
            if ( s[i] == 'j' ) {
                if ( s[i-1] == 'l' || s[i-1] == 'n' ) continue;
            }
        }
        count++;
    }
    cout << count;
}

 


 

느낀점

 

무식해 보이지만 최고의 방법이 아닐까.. 는 내 생각이겠지.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글