[프로그래머스] 잘라서 배열로 저장하기 문제 풀이(Java)

이하영·2023년 6월 16일
0

코딩테스트

목록 보기
11/21
post-thumbnail

✔ 문제 설명

문자열 my_strn이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.


✔ 제한사항

  1. 1 ≤ my_str의 길이 ≤ 100
  2. 1 ≤ nmy_str의 길이
  3. my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.

💬 내 풀이

import java.util.*;

class Solution {
    public String[] solution(String my_str, int n) {
        List<String> answer=new ArrayList();

        for(int i=0; i<my_str.length()/n; i++){
            answer.add(my_str.substring((n*i),(n*(i+1))));
        }
              
        if(my_str.length()%n != 0){
            answer.add(my_str.substring((my_str.length()/n)*n));
        }
        
        return answer.toArray(new String[0]);
    }
}
  • n*1번째부터 n*(i+1)번째 직전까지 잘라서 배열에 넣는다.

  • my_str 문자열의 길이를 n으로 나누었을 때, 나누어 떨어지지 않으면 배열의 마지막 요소는

    • my_str의 길이를 n으로 나눈 값 * n 부터 마지막 인덱스까지 잘라서 넣는다.
    • (참고) substring 메소드에 파라미터 값이 하나일 때파라미터 값부터 끝까지를 잘라서 반환한다.
  • 배열로 return 해야 하기 때문에 toArray()를 사용하여 List를 배열로 변환한다.


⭐ String.substring()

substring(int startIndex)

  • 파라미터 값이 하나일 때는 문자열의 startIndex부터 끝까지의 문자열을 잘라서 반환

substring(int startIndex, int endIndex)

  • 파라미터 값이 두 개일 때는 문자열의 startIndex부터 endIndex 직전까지(endIndex는 포함X)의 문자열을 잘라서 반환
profile
안녕하세요, 웹 개발자 이하영입니다!

0개의 댓글