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

2023. 7. 24. 21:30·프로그래밍 공부/백준 (C++)

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

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

#include <iostream>
#include <stack>
#include <string>
using namespace std;

int main() {
 
    string input;
    cin >> input;
    string tmp;

    int cro = 0;

    for(int i = 0 ; i < input.length(); i++)
    {
        if(i == input.length()-1)
        {
            cro++; 
            break;
        }
        else 
        {

            tmp = input.substr(i,2);
        }

       //cout << "  tmp : " << tmp << " ";

        if(tmp == "c=")
        {
            cro++;
         //   cout <<"found : c= ";
            i++;
        }
        else if(tmp == "c-")
        {
            cro++;
           // cout <<"found : c- ";
            i++;
        }
        else if(tmp == "d-")
        {
            cro++;
           // cout <<"found : d- ";
            i++;
        }
        else if(tmp == "lj")
        {
            cro++;
          //  cout <<"found : lj ";
          i++;
        }
        else if(tmp == "nj")
        {
            cro++;
           // cout <<"found : nj ";
          i++;
        }
        else if(tmp == "s=")
        {
            cro++;
          //  cout <<"found : s= ";
       i++;
        }
        else if(tmp == "z=")
        {
            cro++;
            //cout <<"found : z= ";
           i++;
        }
        else if(tmp == "dz")
        {
            if(input[i+2] == '=')
            {
                cro++;
                //cout <<"found : dz= ";
                i+=2;
            }
            else
            {
                cro++;
                cro++;
                i++;
            }
        } 
        else
        {
            cro++;
        }
    }
 

    cout << cro;

}

 

확인이 용이하게 디버깅용 출력이 있다.

 

substr을 사용하여 검사를 하였고,

dz= 을 판별할 때 dz 가 연속되면 판별이 안 되는 문제로 골머리를 앓았다.

나머지는 판별을 한 뒤 인덱스를 이동시키는 방법으로 풀었다. 

 

 

저작자표시 (새창열림)

'프로그래밍 공부 > 백준 (C++)' 카테고리의 다른 글

[C++/백준 2231번] 분해합  (0) 2023.08.03
[C++/백준 2745번] 진법 변환  (0) 2023.07.27
[C++/백준 10988번] 팰린드롬인지 확인하기  (0) 2023.07.24
[C++/백준 1152번] 단어의 개수  (0) 2023.07.17
11057 : 오르막 수 (C)  (0) 2022.06.30
'프로그래밍 공부/백준 (C++)' 카테고리의 다른 글
  • [C++/백준 2231번] 분해합
  • [C++/백준 2745번] 진법 변환
  • [C++/백준 10988번] 팰린드롬인지 확인하기
  • [C++/백준 1152번] 단어의 개수
Rocketbabydolls
Rocketbabydolls
Rocketbabydolls
  • Rocketbabydolls
    With The Lights Out
    Rocketbabydolls
  • 전체
    오늘
    어제
    • 전체글 (183)
      • 프로그래밍 공부 (117)
        • C (16)
        • Jumping into C++ (9)
        • MFC (C++) (1)
        • 자료구조 (1)
        • 알고리즘 (1)
        • 백준 (C++) (74)
        • 핸즈온 머신러닝 2판 (6)
        • Unseen 3기 준비 (4)
        • 원티드 포텐업 게임 개발자 양성과정 2기 (4)
      • 언리얼엔진5 (62)
        • [Part1] 이득우의 언리얼 프로그래밍 (12)
        • [Part2] 이득우의 언리얼 프로그래밍 (2)
        • [Part2 복습] 이득우의 언리얼 프로그래밍 (3)
        • [Part3] 이득우의 언리얼 프로그래밍 (14)
        • [Part4] 이득우의 언리얼 프로그래밍 (0)
        • FPS 게임 1인 프로젝트 (6)
        • 각종 지식 (10)
        • 블루프린트 Paper2D 로 게임 만들기 (14)
        • 팀 프로젝트 (1)
      • 일상 (1)
      • ETC (1)
        • 맥북 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      실전C프로그래밍
      언리얼엔진 디자인 패턴
      언리얼엔진5 fps 프로젝트
      언리얼엔진 옵저버 패턴
      실전 C프로그래밍 나중채
      언리얼엔진 중재자 패턴
      핸즈온 머신러닝
      c++ 17298
      오블완
      c언어
      실전 C프로그래밍
      C언어 실습문제
      실전C프로그래밍 나중채
      실전 C 프로그래밍
      티스토리챌린지
      언리얼엔진
      실전 C프로그래밍 실습문제
      핸즈온 머신러닝 2판
      실전C프로그래밍 실습문제
      언리얼엔진5
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    Rocketbabydolls
    [C++/백준 2941번] 크로아티아 알파벳
    상단으로

    티스토리툴바