Algorithm/[BOJ]
[Java] 백준 2941번 : 크로아티아 알파벳
정보통신 고심이
2024. 3. 26. 13:46
https://www.acmicpc.net/problem/2941
접근 방법
1) 문자열 입력 받기
2) "li", "nj", "dz" : 한글자로 count / "-", "=" 글자수에서 제외
접근 코드
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String input = br.readLine();
int count = 0;
for(int i=0; i<input.length(); i++) {
if(input.indexOf("li") == 1) {
count++;
}
if(input.indexOf("nj") == 1) {
count++;
}
if(input.indexOf("dz") == 1) {
count++;
}
if(input.indexOf("-") == 1) {
}
if(input.indexOf("=") == 1) {
}
else
count++;
}
bw.write(String.valueOf(count));
br.close();
bw.flush();
bw.close();
}
}
틀린 이유 : indexOf() 메소드는 문자열에서 특정 문자열이나 문자의 첫 번째 인덱스를 반환하기에 "li", "nj", "dz"에는 사용 X
정답 코드
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String input = br.readLine();
int count = 0;
for(int i=0; i<input.length(); i++) {
char ch = input.charAt(i);
if(ch =='c') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='-') {
i++;
}
else if(input.charAt(i+1)=='=')
i++;
}
}
if(ch =='d') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='z') {
if(i<input.length()-2) {
if(input.charAt(i+2)=='=') { // dz=
i = i+2;
}
}
}
else if(input.charAt(i+1)=='-') // d-
i++;
}
}
if(ch =='l') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='j') { // lj
i++;
}
}
}
if(ch =='n') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='j') { // nj
i++;
}
}
}
if(ch =='s') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='=') { // s=
i++;
}
}
}
if(ch =='z') {
if(i<input.length()-1) {
if(input.charAt(i+1)=='=') { // z=
i++;
}
}
}
count++; // else
}
bw.write(String.valueOf(count));
br.close();
bw.flush();
bw.close();
}
}
크로아티아 알파벳의 모든 경우의 수를 if 조건문으로 따져야한다.
참고한 블로그 : https://st-lab.tistory.com/68