본문 바로가기
프로그래머스 문제풀어보기

[Lv.0] 잘라서 배열로 저장하기

by dantriss 2023. 3. 21.


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

 

 

 

문자열 my_str이 무조건 n으로 나눠지는게 아니기 때문에 길이를 지정할 때 n으로 나누어진다면 문자열 my_str을 n으로 나누고 그렇지 않다면 n으로 나누고 +1 한 만큼으로 길이를 선언한다.

 

substring(startIndex,endIndex)을 활용해 문제를 해결할 예정인데 시작점과 끝점을 설정해주어야한다.

시작점은 정수 n+i로 정해져 있기 때문에 간단하게 설정할 수 있다.

하지만 마지막점은 문자열 my_str이 정수 n과 정확히 나눠지는경우와 그렇지 않는 경우가 있기 때문에

두가지 경우를 생각해서 endIndex를 설정해서 int end로 선언한다

 

그 후 substring을 이용해 int 배열 answer의 순서대로 값을 넣어주면 된다.

 

class Solution {
    public String[] solution(String my_str, int n) {
        String[] answer = {};
        if(my_str.length()%n==0){
            answer = new String[my_str.length()/n];
        }else {
            answer = new String[my_str.length()/n+1];
        }
        
        for(int i=0; i<answer.length; i++){
            int start=n*i;
            int end=0;
            
            if(my_str.length()<=start+n){
                end = my_str.length();
            }else {
                end = start+n;
            }
            answer[i] = my_str.substring(start,end);
        }
        
        
        return answer;
    }
}

 

참조 : substring 사용방법

'프로그래머스 문제풀어보기' 카테고리의 다른 글

[Lv.0] 영어가 싫어요  (0) 2023.03.22
[Lv.0] 종이자르기  (0) 2023.03.22
[Lv.0] 한 번만 등장한 문자  (0) 2023.03.20
[Lv.0] 7의 개수  (0) 2023.03.19
[Lv.0] 공 던지기  (0) 2023.03.13

댓글