[programmers] 문자 반복 출력하기 - 120825

iy·2024년 1월 13일

[level Lv.0] 문자 반복 출력하기 - 120825

문제 링크

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

입출력 예
my_string n result
"hello" 3 "hhheeellllllooo"

입출력 예 설명

입출력 예 #1

  • "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.

😅 내 풀이

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        String[] str_arr = my_string.split("");
        String[] arr = new String[my_string.length()*n];
        for(int i = 0;i < str_arr.length;i++){
            int num = 0;
            while(num <n){
                arr[i*n + num] = str_arr[i];
                num++;
            }
        }
        answer = String.join("",arr);
        return answer;
    }
}

my_string을 split()을 이용해 배열로 만들어주었고
배열의 각 요소들이 n번 반복해 다시 배열에 담아주려고 길이의 3배가 되는 배열을 생성해주었다.
이후 반복문을 이용했고 각 요소들을 n번씩 새로운 배열에 담아주었다.
이후 이 배열을 join()을 이용해 String으로 답을 냈다.

👀 다른 사람 풀이 1

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;
    }
}

문자열 그대로 계산해주었고 my_string.charAt(i);을 이용해 해당 문자를 n번씩 반복해 answer에 바로 더해준다.

👀 다른 사람 풀이2

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;
    }
}

반복 메서드 repeat()을 이용했고 배열 요소를 반복문을 통해 바로 문자열에 담아준다.

💡
여전히 다른 사람 풀이를 보고 나면 창피해진다.. 그래도 계속 비교하면서 공부해야 배우고 남는 것도 생기니까 열심히 공부해야겠다.

0개의 댓글