728x90
반응형
문제
정답 풀이
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int count = 0;
for(int i = 0; i < str.length(); i++){
char ch = str.charAt(i);
if(ch == 'c' && i < str.length() -1){
if(str.charAt(i+1) == '=' || str.charAt(i+1) == '-'){
count++;
i++;
}
else {
count++;
}
}
else if(ch == 'd' && i < str.length() -1){
if(str.charAt(i+1) == '-'){
count++;
i++;
}
else if(str.charAt(i+1) == 'z' && i < str.length() -2){
if(str.charAt(i+2) == '='){
count++;
i+=2;
}
else{
count++;
}
}
else{
count++;
}
}
else if((ch == 'l' || ch == 'n') && i < str.length() -1){
if(str.charAt(i+1) == 'j'){
count++;
i++;
}
else{
count++;
}
}
else if((ch == 's' || ch == 'z') && i < str.length() -1){
if(str.charAt(i+1) == '='){
count++;
i++;
}
else{
count++;
}
}
else{
count++;
}
}
br.close();
System.out.print(count);
}
}
- 메모리 14172KB
- 시간 124ms
문자 하나하나 검색해주면서 count를 늘려줍니다.
str.length를 조건문에 달아준 이유는 만약 문자열 마지막에 c가 있을 경우
i+1을 하면 indexover(?) 에러가 나타나기 때문입니다!
else{count++}가 모든 if문에 있는 이유는
만약 c if문 안에 들어갔는데 그 다음 문자가 =나 -가 아닌 경우
c 하나를 count 해줘야 하기 때문입니다.
제가 설명을 잘 한건지 모르겠네요..ㅠ
편하게 댓글로 질문남겨주세요 :)
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 25206번 너의 평점은 (0) | 2023.05.13 |
---|---|
[백준/Java] 1316번 그룹 단어 체커 (0) | 2023.05.11 |
[백준/Java] 4344번 평균은 넘겠지 (0) | 2023.05.11 |
[백준/Java] 1157번 단어 공부 (0) | 2023.05.09 |
[백준/Java] 10988번 팰린드롬인지 확인하기 (0) | 2023.05.09 |