새소식

Programmers Coding Test/Java

[프로그래머스 120825] Java - 코딩테스트 입문 / 문자 반복 출력하기

  • -

 

 

문자 반복 출력하기

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120825

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

1)  문제

문자열 my_string과 정수 n이 매개변수로 주어질 때, 
my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
2 ≤ my_string 길이 ≤ 5
2 ≤ n ≤ 10
"my_string"은 영어 대소문자로 이루어져 있습니다.

 

 

 

2)  예시

 

 

Result Table
my_string n result
"hello" 3 "hhheeellllllooo"

 

 

 

입출력 예 #1

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

 

 

 

 

 

3)  풀이

 

 

 

1. 클래스 선언을 해줍니다

● class Solution {

클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.

 

 

 

 

2. 문자열 my_string과 정수 n을 매개변수로 하는 solution 메소드를 선언합니다.

solution은 문자열을 반환하므로 데이터타입을 String으로 합니다.

●     public String solution(String my_string, int n){

 

 

 

 

3. 문자열 결이 및 정수 n에 대한 제한사항을 확인합니다. 만족하지 않는다면 예외 처리합니다.

     if(2 > my_string.length() || my_string.length() > 5 || 2 > n || n > 10){
            throw new IllegalArgumentException("제한사항을 확인하세요");
        }

 

 

 

 

4. my_string에 들어가있는 각 문자를 n번 반복한 문자열을 StringBuilder 객체 repeatedString로 선언합니다.

append 메소드를 이용해서 repeatedString에 문자를 추가해줍니다.

이 때 charAt 메소드로 my_string의 i번째 문자를 추출해내어 repeat 메소드로 n번 반복될 것이고,

i는 for문을 통해 0부터 문자길이까지 반복될 것입니다.

(String.valueOf를 통해 char를 String으로 변환해주어야 문자열 메소드인 repeat 메소드를 사용할 수 있으므로 형변환 해주어야합니다.)

 

     StringBuilder repeatedString = new StringBuilder();
        
        for(int i = 0; i < my_string.length(); i++){
            repeatedString.append(String.valueOf(my_string.charAt(i)).repeat(n));
        }
        return repeatedString.toString();
    }
}

   

 

 

 

 

 

 

4)  코드

 

class Solution {
    public String solution(String my_string, int n){
        if(2 > my_string.length() || my_string.length() > 5 || 2 > n || n > 10){
            throw new IllegalArgumentException("제한사항을 확인하세요");
        }
        
        StringBuilder repeatedString = new StringBuilder();
        
        for(int i = 0; i < my_string.length(); i++){
            repeatedString.append(String.valueOf(my_string.charAt(i)).repeat(n));
        }
        return repeatedString.toString();
    }
}

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.