문제설명
소스코드
#include <iostream>
using namespace std;
int main() {
string input;
cin >> input;
while (true)
{
if ((input.find("nj") != string::npos) || (input.find("c=") != string::npos) || (input.find("c-") != string::npos) || (input.find("dz=") != string::npos) ||
(input.find("d-") != string::npos) || (input.find("lj") != string::npos) || (input.find("s=") != string::npos) || (input.find("z=") != string::npos))
{
if (input.find("lj") != string::npos) input.replace(input.find("lj"), 2, "0");
else if (input.find("nj") != string::npos) input.replace(input.find("nj"),2, "0");
else if (input.find("c=") != string::npos) input.replace(input.find("c="), 2, "0");
else if (input.find("c-") != string::npos) input.replace(input.find("c-"), 2, "0");
else if (input.find("dz=") != string::npos) input.replace(input.find("dz="), 3, "0");
else if (input.find("d-") != string::npos) input.replace(input.find("d-"), 2, "0");
else if (input.find("s=") != string::npos) input.replace(input.find("s="), 2, "0");
else if (input.find("z=") != string::npos) input.replace(input.find("z="), 2, "0");
}
else break;
}
cout << input.length() << endl;;
}
풀이
- 문자열에 크로아티아 알파벳이 없을 때까지 루프를 돈다.
- 크로아티아 알파벳이 있으면 해당 알파벳을 "0"으로 만들어서 1글자 취급한다.
- 문자열의 길이를 출력한다.
string 내장 함수
input.find("문자열") : input에서 "문자열" 이있는 인덱스를 리턴함. "문자열"이 없으면 string::npos(쓰레기값)을 리턴
input.replace(n,m,"문자열") : n번째 인덱스부터 n+m까지 "문자열"로 바꿈
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[C++] 백준 6단계 - 25206번 문제 (너의 평점은) (0) | 2023.04.17 |
---|---|
[C++] 백준 6단계 - 1316번 문제 (그룹 단어 체커) (0) | 2023.04.16 |
[C++] 백준 - 10039번 문제 (평균 점수) (0) | 2023.04.15 |
[C++] 백준 6단계 - 1157번 문제 (단어 공부) (0) | 2023.04.12 |
[C++] 백준 6단계 - 10988번 문제 (팰린드롬인지 확인하기) (0) | 2023.04.11 |