본문 바로가기

Programming/ACMICPC

ACMICPC 2941 크로아티아 알파벳

문제

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 

다음과 같이 크로아티아 알파벳을 다음과 같이 변경해서 입력했다.

단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

입력

첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.

문제 설명에 나와있는 크로아티아 알파벳만 주어진다.

출력

입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.


크로아티아 알파벳에 대해 확실히 짚고 넘어가자.

'c=', 'c-' ... 들도 크로아티아 알파벳이지만 일반 'a', 'b', 'c' 들도 크로아티아 알파벳이다. 헷갈리면 안됀다.

이는 예제 입&출력을 보면 알 수 있다.


쉽게 풀기위해 발상을 전환해봤다.

1. 입력 값의 길이를 잰다. 

2. 해당 입력값에 특수 크로아티아 알파벳(위 표)이 있을 경우 1씩 빼준다. (2개의 char이 1개의 알파벳을 이루기 때문)

2-1. 위 표를 보면 'dz='은 3개의 char로 이루어져있다. 하지만 'z=' 또한 크로아티아 알파벳이라 2의 과정에서

        -1 되었기 때문에 추가로 -1만 더 해주면 된다.

3. 2를 계산하는 과정에서 문자열 오버플로우가 일어나지 않았는지 확인한다.



'Programming > ACMICPC' 카테고리의 다른 글

ACMICPC 1011 Fly me to the Alpha Centauri  (0) 2017.01.30
ACMICPC 1022 소용돌이 예쁘게 출력하기  (0) 2017.01.11
ACMICPC 2749 피보나치 수 3  (0) 2017.01.08
ACMICPC 10820 문자열 분석  (0) 2017.01.08
ACMICPC 10824 네 수  (0) 2017.01.08