-
[2941번] 크로아티아 알파벳 - Java알고리즘 연습 2021. 11. 13. 11:35
https://www.acmicpc.net/problem/2941
2941번: 크로아티아 알파벳
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=
www.acmicpc.net
1. 배운점
- 문제가 복잡해 보일 때는 큰 틀을 먼저 짠 뒤 경우의 수에 따라 하나씩 조건을 코드로 구현한다.
2. 개선할 점
3. 궁금한 점
4. 풀이
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { // import java.io.BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 문자 입력받기 String word = br.readLine(); // 크로아티아 알파벳 수 출력하기 int count = 0; // count 할 변수 int len = word.length(); // 단어 길이 for(int i = 0; i < len; i++) { // 앞에서부터 한 문자씩 끊어서 검사 char ch = word.charAt(i); // 알파벳이 c로 시작하는 경우 if(ch == 'c' && i < len -1) { if(word.charAt(i+1) == '=' || word.charAt(i+1) == '-') { i++; // i+2번째부터 시작하기 위해 1을 더해준다. } } // 알파벳이 d로 시작하는 경우 else if (ch == 'd' && i < len -1) { if(word.charAt(i+1) == '-') { // 'd-'인 경우 i++; }else if(word.charAt(i+1) == 'z' && i < len-2) { if (word.charAt(i+2) == '=') { // 'dz='인 경우 i += 2; // 3글자가 한 문자이므로 2 증가해야 한다는 점 주의 } } } // 알파벳이 l로 시작하는 경우 else if(ch == 'l' && i < len -1) { if(word.charAt(i+1) == 'j') { i++; } } // 알파벳이 n로 시작하는 경우 else if(ch == 'n' && i < len -1) { if(word.charAt(i+1) == 'j') { i++; } } // 알파벳이 s로 시작하는 경우 else if(ch == 's' && i < len -1) { if(word.charAt(i+1) == '=') { i++; } } // 알파벳이 z로 시작하는 경우 else if(ch == 'z' && i < len -1) { if(word.charAt(i+1) == '=') { i++; } } count++; } System.out.println(count); } }
'알고리즘 연습' 카테고리의 다른 글
[9020번] 골드바흐의 추측 - Java (0) 2021.11.17 [10809번] 알파벳 찾기 - Java (0) 2021.11.13 [2581번] 소수 - Java (0) 2021.11.12 [2869번] 달팽이는 올라가고 싶다 - Java (0) 2021.11.11 [2839번] 설탕배달 - Java (0) 2021.11.11