Day3 - 문자열 곱하기

2025. 7. 10. 11:26·CODING TEST/programmers

📌 문제 정보

- 문제 이름 : 코딩 기초 테스트 - 문자열 곱하기

- 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/181940

 

 

📌 문제 요약

- 핵심 조건: 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return

- 제한: 1 ≤ my_string의 길이 ≤ 100  /  1 ≤ k ≤ 100  (my_string은 영소문자로만 이루어짐.)

 

 

📌 내 풀이 및 코드

class Solution {
    public String solution(String my_string, int k) {
        StringBuilder sb = new StringBuilder();

        for (int i=0; i<k; i++) {
            sb.append(my_string);
        }        

        return sb.toString();
    }
}

- 처음에 for (int i=1; i<my_string.length(); i++) { sb.append(k); } 이런식으로 적었는데 에러가 나서 힌트 봄.

- k번 my_string을 반복해야하는데 my_string의 문자열 길이만큼 k를 붙이는 이상한 코드를 만들어버림. (반대로 생각함.)

 

 

📌 다른 사람들 풀이

// 1
return my_string.repeat(k);


// 2
String answer = "";
for (int i = 0; i < k; i++) {
    answer += my_string;
}
return answer;

<-- 다른 풀이 요약 -->

- 1 : 자바 11 이상에서만 지원함. StringBuilder랑 같은 동작을 하고 한 줄이라 간단함.

- 2 : + 연산 누적 (+=) => String은 불변인데 반복할수록 새로운 String 객체를 계속 생성하기 때문에 길면 느려짐.

항목  1️⃣ StringBuilder (내 코드) 2️⃣ String.repeat  3️⃣ +=
문법 StringBuilder.append() + for repeat(k) String + +=
자바 버전 Java 8~ 최신 다 됨 Java 11 이상 Java 8~ 최신 다 됨
성능 빠름 (가장 안전) 빠름 (내부적으로 동일) 느림 (길면 차이 큼)
가독성 표준적 제일 간결 짧으면 직관적
장점 환경 가리지 않음 한 줄 코드 짧음
단점 한 줄보다 길다 Java 8 환경이면 못 씀 대용량에선 비효율적



📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** String.repeat() **

- 자바 11 이상에서 새로 추가된 String 메서드

- "문자열".repeat(n) 하면 문자열을 n번 반복한 새 문자열을 만들어서 반환함.

- 사실상 StringBuilder로 반복문을 돌려서 붙이는걸 Java 자체에서 대신 해주는 것임. (for + append랑 결과가 똑같음)

- 고정된 문자열 패턴 반복, 출력 포맷, 단순 반복에 사용하기 좋음.

// 기본 사용법
String s = "hi";

String result = s.repeat(3); // "hihihi"
System.out.println(result);


// 예시
System.out.println("*".repeat(5)); // "*****"
System.out.println("abc".repeat(2)); // "abcabc"
System.out.println("A".repeat(0)); // ""

'CODING TEST > programmers' 카테고리의 다른 글

Day4 - 조건 문자열  (0) 2025.07.11
Day4 - 홀짝에 따라 다른 값 반환하기  (0) 2025.07.11
Day3 - 문자 리스트를 문자열로 변환하기  (0) 2025.07.10
Day3 - 두 수의 연산값 비교하기  (0) 2025.07.10
Day3 - 문자열 섞기  (0) 2025.07.10
'CODING TEST/programmers' 카테고리의 다른 글
  • Day4 - 조건 문자열
  • Day4 - 홀짝에 따라 다른 값 반환하기
  • Day3 - 문자 리스트를 문자열로 변환하기
  • Day3 - 두 수의 연산값 비교하기
iamyuunzo
iamyuunzo
https://github.com/iamyuunzo
  • iamyuunzo
    iamyuunzo
    iamyuunzo
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Study (5)
        • App Developer (0)
        • Algorithm study (0)
        • Google AI Essentials (3)
      • Project (3)
        • 감행 (3)
        • Tokkit (0)
        • 다시, 봄 (0)
        • Clone Coding (0)
      • 자격증 모음 (5)
        • AWS Certification (1)
        • 정보처리기사 (0)
        • 빅데이터분석기사 (1)
        • TOEIC Speaking (3)
      • CODING TEST (79)
        • baekjoon (26)
        • programmers (20)
        • MySQL (31)
        • COS Pro (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    Programmers
    회고
    toeic speaking
    토익 스피킹
    baekjoon
    클라우드서비스개발
    CLF-C02
    AWS Certification
    프로그래머스
    AWS Certified Cloud Practitioner
    우리fisa
    java
    프로젝트 리팩토링
    COS Pro
    우리fis아카데미
    감행
    회고록
    SQL
    백준
    우리 fisa
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
iamyuunzo
Day3 - 문자열 곱하기
상단으로

티스토리툴바