2941번: 크로아티아 알파벳 (acmicpc.net)
2941번: 크로아티아 알파벳
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=
www.acmicpc.net
문제는 상당히 직관적이다. 주어진 문자열에서 크로아티아 알파벳이라는 특이한 문자가 있는지 검사하면 끝.
indexing을 잘 다루는 능력이 요구된다고 생각한다.
c=, c- dz= 와 같은 한 character가 2개이상일 경우를 검사할때 그 이전 인덱스 그 이전의 이전 인덱스 여유공간을 두는 조건문을 적어야만 indexoutofrange오류가 뜨지 않겠다.
그것을 잘 조정하면 쉽게 문제를 해결할수있을것 같다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word = sc.next();
int count =0 ;
for(int i=0; i<word.length(); i++) {
char cs = word.charAt(i);
int len = word.length();
if(cs =='c' && i<len-1) {
if(word.charAt(i+1) == '=' || word.charAt(i+1) == '-' ) {
i++;
}
}
else if(cs == 'd' && i< len-1) {
if(word.charAt(i+1)=='-') {
i++;
}
else if(word.charAt(i+1)=='z' && i<len-2) {
if(word.charAt(i+2)=='=') {
i +=2;
}
}
}
else if((cs =='l' || cs == 'n')&& i<len-1) {
if(word.charAt(i+1) == 'j') {
i++;
}
}
else if(cs =='s' && i<len-1) {
if(word.charAt(i+1) == '=') {
i++;
}
}
else if(cs =='z' && i<len-1) {
if(word.charAt(i+1) == '=') {
i++;
}
}
count++;
}
System.out.println(count);
sc.close();
}
}
'Algorithm_PS' 카테고리의 다른 글
백준_2745 <진법 변환> (1) | 2023.10.26 |
---|---|
백준_2563 <색종이> (0) | 2023.10.20 |
백준_10798(세로읽기) (0) | 2023.10.19 |
백준_25206 (너의 평점은) (1) | 2023.10.16 |
백준_10811 (바구니 뒤집기) (0) | 2023.10.16 |