본문 바로가기

Algorithm/Programers - Java

[프로그래머스(Java)] 문자열 곱하기 / String.repeat(), Collections.nCopies()

 

Level.0

 

문제

문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

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

 

풀이. 1 - repeat()

import java.util.*;

class Solution {
    public String solution(String my_string, int k) {
        return my_string.repeat(k);      
    }
}

 

String.repeat(n)

  • 문자열을 n번 반복한 새 문자열을 반환한다. 

 

풀이. 2 - Collections.nCopies()

import java.util.stream.*;
import java.util.*;

class Solution {
    public String solution(String my_string, int k) {
        return String.join("", Collections.nCopies(k, my_string));   
    }
}

 

 

Collections.nCopies()

public static <T> List<T> nCopies(int number, T object)
  • 주어진 객체를 n번 반복한 값을 리턴한다. 
  • number : 반복할 횟수
  • object : 반복해야 할 값

String.join()

public static string Join (char separator, params object?[] values);
  • 여러 개의 문자열을 이어 붙여 하나의 String으로 만들어주는 메서드
  • separaotr : 구분 기호로 사용할 문자. 연결한 문자열 사이에 들어갈 문자. 

 

 


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

 

프로그래머스

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

programmers.co.kr

https://learn.microsoft.com/ko-kr/dotnet/api/system.string.join?view=net-8.0

 

String.Join 메서드 (System)

각 요소 또는 멤버 사이에 지정된 구분 기호를 사용하여 지정된 배열 요소나 컬렉션 멤버를 연결합니다.

learn.microsoft.com