🐈

プログラミング自主学習 DAY57 Coding Test

2023/07/23に公開

Coding Test

文字列の反復

入力例:"hello", 3   
出力例: "hhheeellllllooo"

<My Code>

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";

        for(int i=0; i<my_string.length();i++){
            for(int j=0; j<n; j++){
                answer += my_string.charAt(i);
            }
        }

        return answer;
    }
}

<Good Code>

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        String[] str = my_string.split("");
        for(int i=0; i<my_string.length(); i++){
            answer += str[i].repeat(n);
        }
        return answer;
    }
}

splitとrepeat(n)を活用して、時間計算量を減らした。

<Good Code>


class Solution {
    public String solution(String my_string, int n) {
        StringBuilder sb = new StringBuilder();
        for(char c : my_string.toCharArray()){
            sb.append((c + "").repeat(n));
        }
        return sb.toString();
    }
}

StringBuilder,結合演算など様々な基礎をしっかり活用した。


文字列変換 (母音を取り除く)

my_string result
"bus" "bs"
"nice to meet you" "nc t mt y"


<My Code>

class Solution {
    public String solution(String my_string) {
        return my_string.replaceAll("[a,e,i,o,u]","");
    }
}	

Discussion