[백준(baekjoon) 2902] KMP는 왜 KMP일까?
2018. 7. 16. 16:12ㆍAlgorithm
반응형
문제
알고리즘 명을 지을 때, 주로 만든 사람들의 성의 첫글자만 따서 줄여 부른다.
- 긴 형태 : 하이픈(-)으로 이어 붙인 것
- 예시 : Knuth-Morris-Pratt
- 짧은 형태 : 첫 글자만 딴 것
- 예시 : KMP
긴 형태의 알고리즘 명이 주어졌을 때, 짧은 형태로 바꿔 출력하라.
해결
알고리즘
굳이 구분하자면 문자열 알고리즘이라고 할 수있다.
설명
하이픈 (-
) 기준으로 이름을 나누고, 앞 문자만 가져와 붙이는 쉬운 문제이다.
String.split(String regex)
로 정규 표현식에 따라 문자열을 구분하였고, String.charAt(int index)
로 각 이름의 첫글자에 접근하였다.
그리고 가변객체인 StringBuilder
를 사용해 append
로 한글자씩 붙여주었다.
추후
String
,StringBuilder
,StringBuffer
의 차이점과 자주 쓰이는 내장함수에 대해 설명하는 포스팅도 해볼게요…
구현
1.import java.util.*;
2.
3.public class Main {
4. public static void main(String[] args) {
5. Scanner sc = new Scanner(System.in);
6. String[] inputs = sc.nextLine().split("-");
7. StringBuilder result = new StringBuilder("");
8. for (String str : inputs)
9. result.append(str.charAt(0));
10.
11. System.out.println(result);
12. }
13.}
결과
반응형