Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Been_DevStep

ToCamelCase 본문

문제 풀이/java

ToCamelCase

JChBeen 2022. 10. 21. 17:55
package dev.Problem;

public class ToCamel {
    public static void main(String[] args) {
        System.out.println(toCamel("Hello World!"));
        System.out.println(toCamel("hello nice to meet you.!"));
        System.out.println(toCamelAscii("MY NAME IS GAPSUKIM") );

        int[] tmp;
        tmp = new int[55];
    }


    /*
     * 어떤 문자열을 전달하였을 때 공백을 기준으로 단어 구분이 된 카멜 케이스 명명을 해주는 메서드(toCamel) 만드세요.
     * ex)   "Hello World!" ->> "helloWrold"
     *       "hello nice to meet you.!" ->> "helloNiceToMeetYou.!"
     *       "MY NAME IS GAPSUKIM" ->> myNameIsGapsuKIM
     * */

    public static String toCamel(String str){
        str = str.toLowerCase();            // String 중간중간에 대문자가 있을 수도 있으니 일단 전부 소문자로 변환
        String[] tmpStr = str.split(" ");  // 공백을 제거해야 됨으로 공백 기준으로 나눈다.
        String returnStr = tmpStr[0];       // 전체를 소문자로 변경하였고 첫단어의 첫문자는 소문자로 해야함으로 그대로 붙여준다.
        for (int i = 1; i < tmpStr.length; i++)  // substring로 첫자만 대문자 + 나머지 글자를 붙여준다.
            returnStr += (tmpStr[i].substring(0, 1).toUpperCase() + tmpStr[i].substring(1));

        return returnStr;
    }
    public static String toCamelAscii(String str) {
        str = str.toLowerCase();
        String[] tmpStr = str.split(" ");
        String returnStr = tmpStr[0];
        for (int i = 1; i < tmpStr.length; i++) {
            char[] tmp = tmpStr[i].toCharArray();
            tmp[0] = (char) (tmp[0] - 32);  // ASCII 소문자와 대문자는  소문자 - 대문자 = 32
            returnStr += new String(tmp);
        }
        return returnStr;
    }
}
Comments