코테 기초

잘라서 배열로 저장하기

서버관리자 페페 2024. 4. 4. 11:54

 

(설계와 사고흐름)

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

class Solution {
    public String[] solution(String my_str, int n) {
        
        // 길이 n씩 잘라서 저장 -> substring(i,i+n)
        
        // for문 순회
        //leftover는?
        
        // DOC의 배열은?
        
        // 문제 특정 조건 : 공백이나 필터를 해야하나? XXXXXXXXXXXFQEFWEFDFDSF
        
        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < my_str.length(); i++) {
            if (i >= my_str.length()) {
                list.add(my_str.substring(i, my_str.length()));
            }
            list.add(my_str.substring(i,i+n));
        }
            
            // 새 String[] plate가 필요한데, 사이즈를 특정해야하나?
            // 지금 정확히 떠오르는 글미이 없으니까, 일단 당장 떠오르는 ArrayList사용 후 배열로 전환하자
        
        
        // substring 메소드를 오랜만에 사용해봐서 마지막 정확하게 n길이로 안떨어질떄 leftover는 자동 처리가 되나? - >지금 알 수 있는건 없ㄹ으므로 일단 된다고 가정하고 작성을 진행하자
        String[] answer = list.toArray(new String[0]);
        return answer;
        
        // string의 길이를 구해서 : 몫으로 나눠서 바로 저장할수도 있다
        // charAt으로 수동으로 4가되면 reset
        
        // 실패1  : leftover
    }
}

 

 

 

 

 

 

 

 

 

 

(완성)

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

class Solution {
    public String[] solution(String my_str, int n) {
        
        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < my_str.length(); i = i+n) {
  
            if (i+n> my_str.length()) {
                list.add(my_str.substring(i, my_str.length()));
                break;
            }
            list.add(my_str.substring(i,i+n));
        }
            
            
        String[] answer = list.toArray(new String[0]);
        return answer;
        
    
    }
}