Live Today
[백준] 2902. KMP는 왜 KMP일까? (Java) 본문
반응형
https://www.acmicpc.net/problem/2902
2902번: KMP는 왜 KMP일까?
입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드
www.acmicpc.net
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_bj_2902_KMP는왜KMP일까 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
// 첫번째 문자열은 무조건 대문자이니까 result에 더함
String result = input.charAt(0)+"";
boolean flag = false; // 하이픈 바로 뒤 문자열을 체크하기 위한 flag 변수
// 1번째 인덱스부터 마지막
for(int i=1;i<input.length();i++) {
char tmp = input.charAt(i); // 현재 탐색하는 문자열
// 하이픈 바로 뒤 문자열이라면 result에 더하기
if(flag) result += tmp+"";
if(tmp == '-') flag = true;
else flag = false;
}
System.out.println(result);
}
}
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 19237. 어른 상어 (Java) (0) | 2023.03.03 |
---|---|
[백준] 1181. 단어 정렬 (Java) (0) | 2023.02.12 |
[백준] 1445. 일요일 아침의 데이트 (Java) (0) | 2023.02.05 |
[백준] 2493. 탑 (Java) (0) | 2023.02.04 |
[백준] 12919. A와B 2 (Java) (0) | 2023.02.04 |