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

gayoung·2023년 2월 10일
0

알고리즘

목록 보기
26/50

1. 문제

문제 설명

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

제한사항

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

입출력 예

my_strnresult
"abc1Addfggg4556b"6["abc1Ad", "dfggg4", "556b"]
"abcdef123"3["abc", "def", "123"]

2. 풀이 과정

내가 생각한 진행 과정

  • 총 몇개의 문자로 쪼개지는지 구하기 위해 cnt를 구함
  • start(n개마다 start가 나옴), end (start + n) 를 정해서 substring으로 쪼개기
    • 만약 15글자인데 6개씩 쪼개야한다면, 6개, 6개, 3개로 쪼개짐 -> 6글자가 나오지 않는다면, end는 my_string.length()가 된다.

최종 코드

public String[] solution(String my_str, int n) {

        int cnt = (my_str.length() + n - 1) / n;
        // System.out.println(cnt);
        String[] answer = new String[cnt];

        for (int i=0; i<cnt; i++) {
            int start = i * n;
            int end = 0;

            if (start + n >= my_str.length()) {
                end = my_str.length();
            } else {
                end = start + n;
            }

            answer[i] = my_str.substring(start, end);
        }

        return answer;
    }

0개의 댓글

관련 채용 정보