https://school.programmers.co.kr/learn/courses/30/lessons/120913
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
■ 문제 설명
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
■ 제한사항
- 1 ≤ my_str의 길이 ≤ 100
- 1 ≤ n ≤ my_str의 길이
- my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.
■ 입출력 예
my_Str | n | result |
"abc1Addfggg4556b" | 6 | ["abc1Ad", "dfggg4", "556b"] |
"abcdef123" | 3 | ["abc", "def", "123"] |
■ 나의 코드
class Solution {
public String[] solution(String my_str, int n) {
int idx;
if(my_str.length() % n == 0)
idx = my_str.length() / n;
else
idx = (my_str.length() / n) + 1;
String answer [] = new String[idx];
for(int i = 0; i < answer.length; i++) {
if(my_str.length() % n == 0)
answer[i] = my_str.substring(i*n, (i*n) + n);
else {
if(i < answer.length - 1)
answer[i] = my_str.substring(i*n, (i*n) + n);
else
answer[i] = my_str.substring(i*n);
}
}
return answer;
}
}
■ 코드 풀이
if문으로 answer의 크기를 정한 후 for문을 사용해서 substring을 사용해 문자열을 잘라 n씩 answer에 넣었다.
■ 기타
substring : 문자열을 원하는 위치로 자르는 함수