문자 반복 출력하기

반즈·2023년 11월 16일

프로그래머스 입문

목록 보기
7/51

문제 설명

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

입출력 예


자바

나의 풀이 (for문, length(), split(), repeat())

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

참고 풀이 1 (깔끔)

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

참고 풀이 2 (이중 for문, charAt)

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

참고 풀이 3 (이중 for문, 변형된 for문)

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

자바스크립트

나의 풀이

function solution(my_string, n) {
    var answer = '';
    var arr = my_string.split("");
    for(var i = 0; i < my_string.length; i++){
        answer += arr[i].repeat(n);
    };
    return answer;
}

참고 풀이 1 (reduce)

function solution(my_string, n) {
    return my_string.split('').reduce((acc, cur) => acc + cur.repeat(n), '')
}

참고 풀이 2 (for of 문)

function solution(my_string, n) {
    let ans = '';
    for (let s of my_string) ans+=s.repeat(n);
    return ans;
}
profile
나를 채우다

0개의 댓글