프로그래머스 잘라서 배열로 저장하기

남궁진 (jinvicky)·2026년 4월 1일

Problem


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

Solution


사전 리턴 조건

  • 자르려는 개수 n보다 현재 문자열의 길이가 작다면 자르지 않고 그대로 그 문자열을 반환한다.
  • 자르던 도중 n보다 현재 문자열의 길이가 작다면 자르지 않고 list에 더한 다음에 배열로 치환한다.

반복문

  • while문으로 작성 (문자열의 길이가 가변적이어서 인덱스로 처리할 수 없다고 판단)
  • 무한 루프에 빠지지 않도록 자른 문자열을 제외한 남은 문자열로 my_str을 업데이트한다.
  • 사전 리턴 조건 빼먹지 않기

Code


import java.util.*;

class Solution {
    public String[] solution(String my_str, int n) {
        // 0. 현재 길이가 n 이상인지 확인한다. n보다 길이가 작다면 그냥 리턴한다. 
        if(my_str.length() < n){
            return new String[]{my_str};
        }
       
        List<String> list = new ArrayList<>();
        
        while(!my_str.isEmpty()) {
            if(my_str.length() < n) {
                list.add(my_str);
                break;
            } else {
                list.add(my_str.substring(0, n));
                my_str = my_str.substring(n, my_str.length());
            }
        }
        
        return list.toArray(new String[0]);    
    }
}
profile
문제를 차근차근 하나씩 해결하려고 합니다:)

0개의 댓글