[Java | 백준 2941] 크로아티아 알파벳
· 테크· Java
Java
백준 2941번 www.acmicpc.net/problem/2941
풀이
BufferedReader 를 이용해서 풀이 시간을 단축할 수 있었다. 각 경우에 수를 나누어 생각하면 되는데 입력받은 문자열에서 크로아티아 알파벳이 나오면 cnt 를 더해준다.
크로아티아 알파벳을 찾는 방법은 특정 문자 뒤에 나오는 문자가 크로아티아 알파벳에 해당하는지 && 조건으로 알아본다.
이 문제에서 주의할 점은
1. 크로아티아 알파벳이 2개의 문자로 되어 있는 경우와 3개의 문자로 되어 있는 경우가 있으므로 이를 구분하여 for문이 적용될 수 있도록 해야 한다.
2. if(ch=='c' && (a.charAt(i+1)=='=' || a.charAt(i+1)=='-')) 와 같이 비교 연산자의 순위도 고려하여 괄호로 구분을 해주어야 한다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = br.readLine();
int len = a.length();
int cnt = 0;
for (int i=0; i<len; i++) {
char ch = a.charAt(i);
if(i<len-1) {
if(ch=='c' && (a.charAt(i+1)=='=' || a.charAt(i+1)=='-'))
i++;
else if(ch=='d' && a.charAt(i+1)=='-')
i++;
else if(ch=='l' && a.charAt(i+1)=='j')
i++;
else if(ch=='n' && a.charAt(i+1)=='j')
i++;
else if(ch=='s' && a.charAt(i+1)=='=')
i++;
else if(ch=='z' && a.charAt(i+1)=='=')
i++;
}
if(i<len-2) {
if(ch=='d' && a.charAt(i+1)=='z' && a.charAt(i+2)=='=')
i+=2;
}
cnt++;
}
System.out.println(cnt);
br.close();
}
}
|
cs |
Comments
No comments yet. Be the first!
319 posts in 테크
- 368Supabase 프로젝트 복사하기 (Restore to a New Project)NEW
- 341Migrating from Permanent Access Tokens to Token Exchange — Why Order Matters
- 326Startup & Product Glossary: Terms Every Solo Founder Should Know
- 325Context Management — How I Do It Now
- 324Claude Code Routines vs Cowork Schedule — What's the Difference?
1–5 / 319