반응형
츄르사려고 코딩하는 코집사입니다.
1. [프로그래머스] 잘라서 배열로 저장하기 자바(JAVA)
1) 문제 제목 : 잘라서 배열로 저장하기
2) 문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120913
2. 문제
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
3. 제약사항
- 1 ≤ my_str의 길이 ≤ 100
- 1 ≤ n ≤ my_str의 길이
- my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.
4. 입출력
my_strnresult
"abc1Addfggg4556b" | 6 | ["abc1Ad", "dfggg4", "556b"] |
"abcdef123" | 3 | ["abc", "def", "123"] |
입출력 예 설명
입출력 예 #1
- "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.
입출력 예 #2
- "abcdef123" 를 길이 3씩 잘라 배열에 저장한 ["abc", "def", "123"]를 return해야 합니다.
유의사항
- 입출력 예 #1의 경우 "abc1Addfggg4556b"를 길이 6씩 자르면 "abc1Ad", "dfggg4" 두개와 마지막 "556b"가 남습니다. 이런 경우 남은 문자열을 그대로 배열에 저장합니다.
5. 풀이
- while문을 돌리면서 문자열의 길이가 n 미만인 경우까지 돌리면서 substring을 사용하여 잘라서 배열에 저장하면 된다.
- n 미만인 경우에는 길이가 0이면 멈추고 0이 아니라면 리스트에 넣으면 된다.
6. 소스 코드
import java.util.ArrayList;
class Solution {
public String[] solution(String my_str, int n) {
ArrayList<String> strList = new ArrayList<>();
int i = 0;
while(true) {
if(my_str.length() < n) {
if(my_str.length() == 0) {
break;
} else {
strList.add(my_str);
break;
}
}
String subStr = my_str.substring(0, n);
strList.add(subStr);
i++;
my_str = my_str.replace(subStr, "");
}
String[] answer = new String[strList.size()];
for(int a = 0; a < strList.size(); a++) {
answer[a] = strList.get(a);
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 연속된 수의 합 자바(JAVA) (0) | 2022.11.03 |
---|---|
[프로그래머스] 영어가 싫어요 자바(JAVA) (0) | 2022.11.02 |
[프로그래머스] 옹알이 (2) 자바(JAVA) (4) | 2022.11.02 |
[프로그래머스] 옹알이 (1) 자바(JAVA) (0) | 2022.11.02 |
[프로그래머스] 종이 자르기 자바(JAVA) (0) | 2022.10.31 |
[프로그래머스] 햄버거 만들기 자바(JAVA) (0) | 2022.10.28 |
[프로그래머스] 나머지가 1이 되는 수 찾기 자바(JAVA) (0) | 2022.10.25 |
[프로그래머스] 콜라 문제 자바(JAVA) (0) | 2022.10.25 |
최근댓글