처음부터 시작하는 Java
  • 잘라서 배열로 저장하기
    2022년 11월 29일 16시 50분 14초에 업로드 된 글입니다.
    작성자: 원2
    728x90
    반응형

    문제 설명

    문자열 my_str과 n이 매개변수로 주어질 때, 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"]

     

    입출력 예 설명

    입출력 예 #1

    • "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.

    입출력 예 #2

    • "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.

    유의사항

    • 입출력 예 #1의 경우 "abc1Addfggg4556b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.
    class Solution {
        public String[] solution(String my_str, int n) {
            int stIndex = 0;
            int edIndex = n;
            int strLen = my_str.length();
            int aSize = strLen % n == 0 ? strLen / n : strLen / n + 1;
            
            String[] answer = new String[aSize];
            
            for (int i = 0; i < aSize; i++) {
                if (edIndex > strLen) {
                    answer[aSize - 1]  = my_str.substring(strLen - (strLen % n), strLen);
                    break;
                }
                answer[i] = my_str.substring(stIndex, edIndex);
                stIndex += n;
                edIndex += n;
            }
            
            return answer;
        }
    }
    728x90
    반응형

    '알고리즘' 카테고리의 다른 글

    구슬을 나누는 경우의 수  (0) 2022.12.02
    숨어있는 숫자의 덧셈 (2)  (0) 2022.11.30
    영어가 싫어요  (0) 2022.11.30
    문자열 정렬하기(1)  (0) 2022.11.17
    숨어있는 숫자의 덧셈  (0) 2022.11.17
    좋은 수의 갯수 구하기 [백준]1253  (0) 2022.11.06
    댓글