๊ฐœ๋ฐœ์ผ์ง€

[Java] ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ๋ฐ”๊พธ๊ธฐ / ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

Algorithm

[Java] ๋ฌธ์ž์—ด ๋Œ€์†Œ๋ฌธ์ž ๋ฐ”๊พธ๊ธฐ / ์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ

O'mil 2024. 5. 23. 19:58
728x90

๐Ÿ”— ๋งํฌ

์ด์ƒํ•œ ๋ฌธ์ž ๋งŒ๋“ค๊ธฐ

 

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

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

programmers.co.kr

๐Ÿ“Œ ๋ฌธ์ œ ์„ค๋ช…

  • ๋ฌธ์ž์—ด s๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋‹จ์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    ๊ฐ ๋‹จ์–ด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    ๊ฐ ๋‹จ์–ด์˜ ์ง์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ฌธ์ž๋กœ, ํ™€์ˆ˜๋ฒˆ์งธ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”.

 

๐Ÿ‘€ ์˜ˆ์ œ

 

โœ๏ธ ํ’€์ด ์ˆœ์„œ

  1. cnt = 0์œผ๋กœ ์„ ์–ธ
  2. ๊ณต๋ฐฑ์ด ๋“ค์–ด์˜ค๋ฉด cnt๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”
  3. ์ง์ˆ˜๋ฉด ๋Œ€๋ฌธ์ž, ํ™€์ˆ˜๋ฉด ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ

๐Ÿ’ป ์ฝ”๋“œ

class Solution {
    public String solution(String s) {
        
        int cnt = 0;
        for (int i = 0; i < s.length(); i++) {
            
            if (s.charAt(i) == ' ') {
                cnt = 0;
                continue;
            }
            
            if (cnt % 2 == 0) {
                s.charAt(i) += 32;
                cnt++;
            }
        }
        return s;
    }
}

 

๋ฌธ์ œ์ 

  1. Java์˜ ๋ฌธ์ž์—ด์€ ๋ถˆ๋ณ€์ด๋ฏ€๋กœ, ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ์ง์ ‘ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
    s.charAt(i) += 32 ์ฝ”๋“œ ์˜ค๋ฅ˜
  2. ๊ฐ ๋ฌธ์ž์˜ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ณ€ํ™˜ํ•˜๋Š” ๋กœ์ง์ด ํ•„์š”ํ•จ.
    ๋ชจ๋“  ๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋“ค์–ด์˜ค๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ ์•„๋‹ˆ์—ˆ๋‹ค.

 

 

์ˆ˜์ •๋œ ์ฝ”๋“œ

class Solution {
    public String solution(String s) {
        StringBuilder sb = new StringBuilder();
        int cnt = 0;
        
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            
            if (c == ' ') {
                cnt = 0;
                sb.append(c);
                continue;
            }
            
            if (cnt % 2 == 0) {
                sb.append(Character.toUpperCase(c));
            } else {
                sb.append(Character.toLowerCase(c));
            }
            cnt++;
        }
        return sb.toString();
    }
}
  1. ๋ฌธ์ž์—ด ์ˆ˜์ •์„ ์œ„ํ•ด StringBuilder๋ฅผ ์ƒ์„ฑํ•จ.
  2. Character.toUpperCase์™€ toLowerCase๋ฅผ ์‚ฌ์šฉํ•ด ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜
  3. toString์„ ์ด์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

๐Ÿ“šReference

728x90
Comments