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

Boknami·2023년 7월 23일
0

프로그래머스

목록 보기
7/29

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

기록 이유

단순한 문제인 줄 알았는데 생각보다 문제를 푸는데 오래 걸렸다.. 약 30분 정도 소요된 것 같다.

솔직히 풀다가 아..이건 너무 오래 잡을 문제는 아닌 것 같다는 생각에 서칭을 통해서 찾아봤는데 한 눈에 이해 안되는 것들이 많아서 쉽게 나만의 방식으로 풀어보고 싶었다.

  1. String을 그냥 처음 만드니 안에 들어가 있는 값들이 null이어서 다짜고짜 strArr[i] += "value" 이런 식으로 넣으면 기본 null에다 값이 추가되는 형식으로 되어버림.

💬 풀이방법!

  1. 입력 받은 길이가 딱 나누어 떨어지는 지 여부를 판단해 길이를 측정
  2. 문장을 순회한다
    1. temp를 축적한다
    2. 만약 문제에서 주어진 n으로 나누어지는 i+1의 경우에는 축적한 값을 넣어준다.
  3. 해당 문자열이 n으로 딱 나누어 떨어지지 않는 경우에는 temp를 추가해서 남은 것들을 삽입해준다!

코드

class Solution {
    public String[] solution(String my_str, int n) {
        String[] answer = new String[my_str.length() % n == 0 ? my_str.length()/n : my_str.length()/n + 1];
        String temp = "";
        int count = 0;
        
        for(int i = 0 ; i < my_str.length(); i++){
            temp += Character.toString(my_str.charAt(i));
            if((i+1) % n == 0){
                answer[count] = temp;
                count += 1;
                temp = "";
            }
        }
        if(my_str.length() % n != 0) answer[answer.length-1] = temp;
        
        return answer;
    }
}

1개의 댓글

comment-user-thumbnail
2023년 7월 23일

좋은 글 감사합니다.

답글 달기

관련 채용 정보