본문 바로가기
  • Let's study
PS/Programmers

[프로그래머스 Lv.0] 잘라서 배열로 저장하기(Java)

by 코딩고수이고파 2026. 7. 25.

문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

풀이

문자열을 n칸씩 건너뛰며 순회하면서 substring()을 이용해 잘라 ArrayList에 저장한다.

반복문의 증가식을 i += n으로 설정하면 시작 위치가 0, n, 2n처럼 이동하므로 원하는 길이만큼 문자열을 나눌 수 있다.

마지막 문자열의 길이가 n보다 작을 수도 있으므로 끝 인덱스가 문자열의 길이를 넘지 않도록 처리해야 한다. 이를 위해 Math.min()을 사용하여 i + n과 문자열의 길이 중 더 작은 값을 끝 인덱스로 사용한다.

int endIndex = Math.min(i + n, my_str.length());
answer.add(my_str.substring(i, endIndex));
 

substring(시작 인덱스, 끝 인덱스)는 끝 인덱스는 포함하지 않고 문자열을 잘라 반환한다.

코드

import java.util.*;

class Solution {
    public ArrayList<String> solution(String my_str, int n) {
        ArrayList<String> answer= new ArrayList<>();
        
        for(int i=0;i<my_str.length();i+=n){
            int endIndex = Math.min(i + n, my_str.length());
            answer.add(my_str.substring(i,endIndex));
        }
        
        return answer;
    }
}

댓글