ALGORITHM/코딩 기초 트레이닝

[프로그래머스]문자열 곱하기

jki09871 2024. 7. 26. 17:55
아무리 쉬운 코드도 리뷰 합니다.
문제 설명
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 
문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항
1 ≤ my_string의 길이 ≤ 100
my_string은 영소문자로만 이루어져 있습니다.
1 ≤ k ≤ 100

입출력 예
my_string	k	result
"string"	3	"stringstringstring"
"love"	10	"lovelovelovelovelovelovelovelovelovelove"

입출력 예 설명
입출력 예 #1
예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 
"stringstringstring"이므로 이를 return 합니다.

입출력 예 #2
예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 
"lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.
 ----------------------------------------------------------------------------------
class Solution {
    public String solution(String my_string, int k) {
        String answer = "";
        
        if(my_string.length() >= 1 && my_string.length() <= 100){
            if(k >= 1 && k <= 100 ){
            for(int i = 0; i < k; i++){
                answer += my_string;
                }
            }
        }
        return answer;
    }
}

설명

  1. if조건문을 이용해 my_string에 길이가 1보다 크거나 같고, 100는 작거나 같아야 for반복문이 동작한다.
  2. for반복문은 i가 k(입력값)보다 작으면 동작한다.
  3. 반복문이 동작 하는동안 my_string에 저장된 문자열을 복합연산자(+=)를 이용해 answer에 계속 붙여준다. 

중요코드

  • 관계연산자(<,>,!=,==,>=,<=)잘 활용해야 한다.

실행결과

정확성 테스트
테스트 1 〉 통과 (1.40ms, 72.6MB)
테스트 2 〉 통과 (1.54ms, 87MB)
테스트 3 〉 통과 (1.27ms, 75.1MB)
테스트 4 〉 통과 (8.77ms, 73.7MB)
테스트 5 〉 통과 (2.07ms, 75.7MB)
테스트 6 〉 통과 (1.29ms, 77.4MB)
테스트 7 〉 통과 (2.05ms, 74.3MB)
테스트 8 〉 통과 (1.78ms, 76.2MB)
테스트 9 〉 통과 (1.95ms, 76.5MB)
테스트 10 〉 통과 (1.98ms, 76.1MB)
테스트 11 〉 통과 (1.47ms, 75.1MB)
테스트 12 〉 통과 (1.86ms, 69.4MB)
테스트 13 〉 통과 (1.66ms, 75.2MB)
테스트 14 〉 통과 (1.75ms, 76.1MB)
테스트 15 〉 통과 (1.49ms, 85.7MB)
테스트 16 〉 통과 (1.37ms, 73.6MB)
테스트 17 〉 통과 (1.63ms, 68.2MB)
테스트 18 〉 통과 (1.48ms, 74.9MB)
테스트 19 〉 통과 (1.84ms, 74.4MB)
테스트 20 〉 통과 (2.92ms, 73.3MB)
테스트 21 〉 통과 (1.97ms, 70.3MB)
테스트 22 〉 통과 (1.35ms, 78.4MB)
테스트 23 〉 통과 (1.45ms, 77.2MB)
테스트 24 〉 통과 (1.87ms, 74.7MB)
테스트 25 〉 통과 (1.97ms, 73.8MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0