πŸ’  Cpp/[BOJ] λ‹¨κ³„λ³„λ‘œ 풀어보기

[BOJ][C++] λ°±μ€€ 2941번 : ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³

선달 2021. 10. 8. 10:35
λ°˜μ‘ν˜•

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

 

2941번: ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³

μ˜ˆμ „μ—λŠ” μš΄μ˜μ²΄μ œμ—μ„œ ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ μž…λ ₯ν•  μˆ˜κ°€ μ—†μ—ˆλ‹€. λ”°λΌμ„œ, λ‹€μŒκ³Ό 같이 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ λ³€κ²½ν•΄μ„œ μž…λ ₯ν–ˆλ‹€. ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³ λ³€κ²½ č c= Δ‡ c- dΕΎ dz= Δ‘ d- lj lj nj nj š s= ΕΎ z=

www.acmicpc.net

 

문제

μ˜ˆμ „μ—λŠ” μš΄μ˜μ²΄μ œμ—μ„œ ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ μž…λ ₯ν•  μˆ˜κ°€ μ—†μ—ˆλ‹€. λ”°λΌμ„œ, λ‹€μŒκ³Ό 같이 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μ„ λ³€κ²½ν•΄μ„œ μž…λ ₯ν–ˆλ‹€.

ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³λ³€κ²½

č c=
Δ‡ c-
dΕΎ dz=
Δ‘ d-
lj lj
nj nj
š s=
ΕΎ z=

예λ₯Ό λ“€μ–΄, ljes=njak은 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³ 6개(lj, e, š, nj, a, k)둜 이루어져 μžˆλ‹€. 단어가 μ£Όμ–΄μ‘Œμ„ λ•Œ, λͺ‡ 개의 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλŠ”μ§€ 좜λ ₯ν•œλ‹€.

dΕΎλŠ” 무쑰건 ν•˜λ‚˜μ˜ μ•ŒνŒŒλ²³μœΌλ‘œ 쓰이고, d와 ΕΎκ°€ λΆ„λ¦¬λœ κ²ƒμœΌλ‘œ 보지 μ•ŠλŠ”λ‹€. lj와 nj도 λ§ˆμ°¬κ°€μ§€μ΄λ‹€. μœ„ λͺ©λ‘μ— μ—†λŠ” μ•ŒνŒŒλ²³μ€ ν•œ κΈ€μžμ”© μ„Όλ‹€.

μž…λ ₯

첫째 쀄에 μ΅œλŒ€ 100κΈ€μžμ˜ 단어가 주어진닀. μ•ŒνŒŒλ²³ μ†Œλ¬Έμžμ™€ '-', '='둜만 이루어져 μžˆλ‹€.

λ‹¨μ–΄λŠ” ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλ‹€. 문제 μ„€λͺ…μ˜ ν‘œμ— λ‚˜μ™€μžˆλŠ” μ•ŒνŒŒλ²³μ€ λ³€κ²½λœ ν˜•νƒœλ‘œ μž…λ ₯λœλ‹€.

좜λ ₯

μž…λ ₯으둜 주어진 단어가 λͺ‡ 개의 ν¬λ‘œμ•„ν‹°μ•„ μ•ŒνŒŒλ²³μœΌλ‘œ 이루어져 μžˆλŠ”μ§€ 좜λ ₯ν•œλ‹€.

 

풀이

#include <iostream>

using namespace std;

int main () {
    
    string s;
    cin >> s;
    
    int sum = 0;
    for(int i=0; i<s.length(); i++){
        if(s[i] == 'c'){
            if(s[i+1] == '=' || s[i+1] == '-')
                i++;
        }
        if(s[i] == 'd'){
            if(s[i+1] == '-')
                i++;
            else if(s[i+1] == 'z' && s[i+2] == '=')
                i += 2;
        }
        if(s[i] == 'l' && s[i+1] == 'j')
            i++;
        if(s[i] == 'n' && s[i+1] == 'j')
            i++;
        if(s[i] == 's' && s[i+1] == '=')
            i++;
        if(s[i] == 'z' && s[i+1] == '=')
            i++;
        
        sum++;
    }
    
    cout << sum;
    
    return 0;
}
λ°˜μ‘ν˜•