21.05.28 기록
-
백준 알고리즘 2941 풀이 완료
-
- 2941 풀이 (메모리 14.21MB, 시간 132ms로 통과)
- 조건문이 너무 많아서 이렇게 푸는 게 맞나…? 싶었지만 다른 풀이들도 나와 같은 로직이었다.
- 하지만 내 풀이는 2% 부족해서
IndexOutOfBounds오류가 났다… - 결국 해설코드를 참고하여 겨우 통과하였다.
- 2941 풀이 (메모리 14.21MB, 시간 132ms로 통과)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class B2941 { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { String input = br.readLine(); int len = input.length(); int cnt = 0; for(int i = 0; i < len; i++) { char ch = input.charAt(i); if( ch == 'c' && i < len-1 ) { if(input.charAt(i+1) == '=' || input.charAt(i+1) == '-') { i++; } } else if( ch == 'd' && i < len-1 ) { if(input.charAt(i+1) == '-') { i++; } else if(input.charAt(i+1) == 'z' && i < len-2 ) { if(input.charAt(i+2) == '=') { i += 2; } } } else if( (ch == 'l' || ch == 'n') && i < len-1 ) { if(input.charAt(i+1) == 'j') { i++; } } else if( (ch == 's' || ch == 'z') && i < len-1 ) { if(input.charAt(i+1) == '=') { i++; } } cnt++; } System.out.println(cnt); } catch (IOException e) { e.printStackTrace(); } } } -