Genie_. 2024. 12. 10. 15:04
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š rny_string

1. ๋ฌธ์ œ


2. ๋ฌธ์ œ ํ’€์ด

์•„์ง ์ž๋ฐ”๋ฅผ ์ž˜ ๋ชจ๋ฅด๊ณ  ํ—ท๊ฐˆ๋ ค์„œ, ์•„๋ฌด๋ฆฌ ์‰ฌ์šด ๋ฌธ์ œ์—ฌ๋„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ถ„์„ํ•˜๋ฉด์„œ ํ’€์–ด๋ณด๊ธฐ๋กœํ–ˆ๋‹ค.

class Solution {
    public String solution(String rny_string) {
        // marsterpiece์— ์žˆ๋Š” m์„ rn์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผํ•จ
        // 1. ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ(rny_string)์— m์ด ์žˆ๋Š”์ง€ ํ™•์ธ
        // -> ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜์”ฉ, ๋ฐฐ์—ด๋กœ ๋‹ด์€ ํ›„ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•˜๊ธฐ
        // 2. ์žˆ๋‹ค๋ฉด rn์œผ๋กœ ๋ณ€๊ฒฝ, ์—†๋‹ค๋ฉด ๊ทธ๋ƒฅ ์ถœ๋ ฅ
        char[] answer = new char[rny_string.length()];
        
        for(int i = 0; i < answer.length; i++){
            answer[i] = rny_string.charAt(i);
            if(answer[i] == 'm'){
                answer[i] = 'r'+'n';
            }
        }
        return answer;
    }
}

์ž…๋ ฅ ๋ฐ›์€ ๋ฐ์ดํ„ฐ์— m์ด ์žˆ๋‹ค๋ฉด rn์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ , ์—†๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

์—ฌ๊ธฐ์„œ, ๋ฌธ์ž์—ด m์ด ์žˆ๋Š”์ง€ ๋น„๊ตํ•˜๋ ค๋ฉด, ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค ์—ฌ๊ธฐ์„œ ๋‚˜๋Š” ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•˜๋Š”๊ฑธ ์„ ํƒํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งฐ์„ ๋•Œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค.

/Solution.java:15: error: incompatible types: char[] cannot be converted to String return answer;

char[] ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ String ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋‹ค.

solution์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋Š” Stringํƒ€์ž…์ธ๋ฐ, answer์€ charํ˜•์‹์ด์–ด์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์˜€๊ธฐ์— answer์„ String ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์—ˆ๋‹ค.

class Solution {
    public String solution(String rny_string) {
        // marsterpiece์— ์žˆ๋Š” m์„ rn์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผํ•จ
        // 1. ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ(rny_string)์— m์ด ์žˆ๋Š”์ง€ ํ™•์ธ
        // -> ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜์”ฉ, ๋ฐฐ์—ด๋กœ ๋‹ด์€ ํ›„ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•˜๊ธฐ
        // 2. ์žˆ๋‹ค๋ฉด rn์œผ๋กœ ๋ณ€๊ฒฝ, ์—†๋‹ค๋ฉด ๊ทธ๋ƒฅ ์ถœ๋ ฅ
        char[] answer = new char[rny_string.length()];
        
        for(int i = 0; i < answer.length; i++){
            answer[i] = rny_string.charAt(i);
            if(answer[i] == 'm'){
                answer[i] = 'r' + 'n';
            }
        }
        return String.valueOf(answer);
    }
}

์ด์ œ ์˜ค๋ฅ˜๋Š” ๋œจ์ง€์•Š๊ณ  ์‹คํ–‰์€ ์ž˜๋˜์—ˆ๋Š”๋ฐ, ๊ฒฐ๊ด๊ฐ’์ด ์ด์ƒํ•˜๊ฒŒ ๋‚˜์™”๋‹ค.


๊ณ„์† ์ƒ๊ฐ์„ ํ•ด๋ณด๋‹ˆ m -> rn์œผ๋กœ ๋ณ€๊ฒฝ์„ ํ•˜๋Š”๊ฑฐ๋ผ๋ฉด, ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์ฆ๊ฐ€๋œ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋„ ์‹ ๊ฒฝ์จ์•ผํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋‚ด๊ฐ€ ํ•œ ๋ฐฉ์‹๋Œ€๋กœ ํ•œ๋‹ค๋ฉด,  ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ž˜๋ชป๋œ ์ธ๋ฑ์Šค์— ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด, ๊ฐ€๋ณ€ ๊ฐ์ฒด์ธ StringBuilder๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์•˜๋‹ค!


3. ์ •๋ฆฌ

๋‚ด ํ’€์ด

class Solution {
    public String solution(String rny_string) {
        // ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์„ StringBuilder
        StringBuilder result = new StringBuilder();

        // ์ž…๋ ฅ ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ์ฒ˜๋ฆฌ
        for (int i = 0; i < rny_string.length(); i++) {
            char c = rny_string.charAt(i);
            if (c == 'm') {
                // 'm'์„ 'rn'์œผ๋กœ ๋Œ€์ฒด
                result.append("rn");
            } else {
                // ๋‹ค๋ฅธ ๋ฌธ์ž๋Š” ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€
                result.append(c);
            }
        }

        // ์ตœ์ข… ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
        return result.toString();
    }
}

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

class Solution {
    public String solution(String rny_string) {
        return rny_string.replaceAll("m", "rn");
    }
}

replaceAll()

  • String replaceAll(String regex, String replacement)
  • replaceAll() ํ•จ์ˆ˜๋Š” ๋Œ€์ƒ ๋ฌธ์ž์—ด์„ ์›ํ•˜๋Š” ๋ฌธ์ž ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.
  • ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ณ€ํ™˜ํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ์ด ๋  ๋ฌธ์ž์—ด
  • ๋‘๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ณ€ํ™˜ํ•  ๋ฌธ์ž ๊ฐ’

4. ์ฐธ๊ณ ์ž๋ฃŒ / ์•Œ๊ฒŒ๋œ ๋‚ด์šฉ

https://hianna.tistory.com/539

https://hianna.tistory.com/521


https://geniebox.tistory.com/203

 

์‰ฌ์šด ๋ฌธ์ œ๋ฅผ ์–ด๋ ต๊ฒŒ ํ’€๊ณ ์žˆ์—ˆ๋‹ค ..

728x90
๋ฐ˜์‘ํ˜•