코딩테스트

잘라서 배열로 저장하기 프로그래머스 코딩테스트 JAVA

daeyun대윤 2023. 12. 1. 07:00

잘라서 배열로 저장하기 프로그래머스 코딩테스트 JAVA

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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

 

수정해서 통과한 코드... 불필요한 코드를 제거

import java.util.ArrayList;
import java.util.List;

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

        while (my_str.length() >= n) {
            String substr = my_str.substring(0, n);
            temp.add(substr);
            my_str = my_str.substring(n);
        }

        if (!my_str.isEmpty()) {
            temp.add(my_str);
        }

        return temp.toArray(new String[0]);
    }
}

 

 

처음에 작성한.. 좀 엉망인 코드..

import java.util.*;

class Solution {
    public String[] solution(String my_str, int n) {
        
        List<String> temp = new ArrayList<>();
        
        int i = 0;
        while (true) {
            if(my_str.length() <n){
                if(my_str.length() == 0){
                    break;
                }else{
                        temp.add(my_str);
                        break;
                }
            }
        
            String substr = my_str.substring(0,n);
            temp.add(substr);
            i++;
            my_str = my_str.replace(substr, "");
            }

            String[] answer = new String[temp.size()];
                for(int j=0;j<temp.size();j++){
                  answer[j] =temp.get(j);
                }
                return answer;
            }
}
728x90
300x250