www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

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

www.acmicpc.net

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

int main(void)
{
  string s;
  // 크로아티아 문자
  string w[8] = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
  cin >> s;

  // 각 크로아티아 문자들을 다 비교해줌
  for(int i = 0 ; i < 8 ; i++)
  {
    // 문자열에서 아무것도 안나올때까지
    while(s.find(w[i]) != string::npos)
    {
      // 해당 크로아티아 문자를 찾아서 아무 관련 없는 k 라는 문자로 치환
      s.replace(s.find(w[i]), w[i].size(), "k");
    }
  }

  cout << s.size() << endl;
}

 

[Try]

1. 입력받은 문자열을 다 돌면서 각 알파벳들을 한글자로 바꿔준다.

 

[Point]

1. 굳이 string 사용하지 않고 - 랑 = 를 사용하여 비교해주는게 간단해 보인다.

 

[More]

1. 정규표현식 regex

 

 

'PS > BOJ' 카테고리의 다른 글

[백준] 2748.cpp : 피보나치 수 2  (0) 2020.06.12
[백준] 1094.cpp : 막대기  (0) 2020.06.12
[백준] 5086.cpp : 배수와 약수  (0) 2020.06.10
[백준] 1427.cpp : 소트인사이드  (0) 2020.06.09
[백준] 5622.cpp : 다이얼  (0) 2020.06.08

+ Recent posts