카테고리 없음

[JAVA-120913] 잘라서 배열로 저장

썬키 2023. 1. 27. 21:33
 

프로그래머스

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

programmers.co.kr

링크를 클릭하면 해당 문제로 이동합니다.

 

출처 : 프로그래머스

 


 

1. 접근하기

보통 문자열을 자를 때에는 split()을 이용하는데 이 문제에서는 주어진 int타입의 n만큼 문자를 잘라서

배열에 담으라고 했으므로 split() 보다는 substring()을 이용하는게 맞는것 같다고 판단되어

해당 방법으로 문제를 해결했다.

TO-DO
1. 문제에서 주어진 반환 타입이 배열인데 몇 개의 원소를 담을건지 애매하므로
List에 substring 값을 담아서
추후에 배열로 변환한다.
2. 최종적으로 잘라낸 문자열의 길이가 0보다 클 때까지 반복하도록 for문을 작성한다.
3. 만약, 최종적으로 잘라낸 문자열의 길이가 주어진 int 타입의 변수 n보다 작으면
list에 담고 반복문을 빠져나온다.

 

2. 코드

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

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

 

3. 결과

 

4. 리뷰

List를 배열로 변환하기 위해 List 클래스에 포함된 toArray 메소드를 사용해봤는데

관련해서 좋은 포스트를 발견하게 되어 주소를 남긴다.

 

[Java] 배열을 List로, List를 배열로 변환하기

배열을 List로 Arrays.asList() new ArrayList(Arrays.asList()) Collectors.toList() ArrayList를 배열로 toArray() - java.util.List 배열을 List로 1. Arrays.asList() 코드 import java.util.Arrays; import java.util.List; public class ArrayConversion

hianna.tistory.com