본문 바로가기

개발중/Java

[JAVA] 문자열 받고, 초성으로 반환해주자.

728x90
반응형

초코렛 > ㅊㅋㄹ

자바 > ㅈㅂ

안녕 > ㅇㄴ

안녕하세요. 저는 개발중이에요. > ㅇㄴㅎㅅㅇㅈㄴㄱㅂㅈㅇㅇㅇ

 

/**
 * 초성 반환
 */
public String getInitialSound(String word){

    String[] CHO = {"ㄱ","ㄲ","ㄴ","ㄷ","ㄸ","ㄹ","ㅁ","ㅂ","ㅃ","ㅅ","ㅆ","ㅇ","ㅈ","ㅉ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ"};

    return Arrays.stream(word.split("")).map( x -> {
        char cho = (char)((x.charAt(0) - 0xAC00) / 28 / 21);
        return ((int)cho > 19 || (int)cho < 0) ? "" : CHO[(int)cho];
    }).collect(Collectors.joining(""));
}
728x90
반응형