๐Ÿ’ป ๊ฐœ๋ฐœ/๐Ÿ“ˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ

EastShine_ 2023. 8. 9. 13:09

 

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ (LV.2)

 

๋ฌธ์ œ๋งํฌ

https://school.programmers.co.kr/learn/courses/30/lessons/12951

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

ํ’€์ด ๊ณผ์ •

1. JadenCase๋Š” ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์˜ ๋ชจ๋“  ๋‹จ์–ด ์ฒซ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ด๊ณ , ๊ทธ ์™ธ๋Š” ์†Œ๋ฌธ์ž์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ’์„ ๊ณต๋ฐฑ๋ฌธ์ž(" ")๋กœ splitํ•˜์—ฌ String ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€, '๊ณต๋ฐฑ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.' ๋ผ๋Š” ์ œํ•œ ์กฐ๊ฑด์ด ์กด์žฌํ•œ๋‹ค.

split() ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์— ์žˆ๋Š” ๊ณต๋ฐฑ์€ ๋ฌด์‹œ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ split() ๋Œ€์‹  StringTokenizer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„ํ• ํ•ด์ฃผ์—ˆ๋‹ค.

 

2. ์ด์ œ while๋ฌธ์„ ๋Œ๋ฉด์„œ token์„ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์™€ ์ฒซ๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋‚˜๋จธ์ง„ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ์–ด StringBuilder์— append ํ•˜์˜€๋‹ค.

 

 

 

์ฝ”๋“œ

import java.util.*;

class Solution {
    public String solution(String s) {
        
        StringTokenizer st = new StringTokenizer(s, " ", true);
        StringBuilder sb = new StringBuilder();
        
        while(st.hasMoreTokens()) {
            String token = st.nextToken();
            if(!token.equals(" ")) {
                sb.append(token.substring(0, 1).toUpperCase() 
                          + token.substring(1).toLowerCase());
            } else {
                sb.append(" ");
            };
        };
        
        return sb.toString();
    }
}