문제
문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.
입출력 예
| my_str | n | result |
| "abc1Addfggg4556b" | 6 | ["abc1Ad", "dfggg4", "556b"] |
| "abcdef123" | 3 | ["abc", "def", "123"] |
1. answer 배열의 길이 구하기
answer배열의 길이부터 구해줍니다.
my_str을 n으로 나눈 값이 길이에 해당될겁니다.
그치만 나누어떨어지지 않는다면 거기에 +1을 해준 값이 길이가 될겁니다.
if(my_str.length() % n != 0){
length = my_str.length() / n + 1;
}
else{
length = my_str.length() / n;
}
2. answer 배열을 for문 돌려주기
answer배열을 하나씩 채워주려면 for문을 돌려주어야 합니다.
for(int i=0; i<length; i++){
}
3. substring()을 사용해서 my_string 문자열 잘라주기
String str = "ABCDEFG";
str.substring(0, 3); // ABC 출력
substring()은 문자열을 자를때 사용하는 함수입니다.
이를 이용해 my_string을 잘라줍니다.
4. 예외 처리
그런데 만약 방금 자른 my_string 길이가 answer요소의 길이보다 작다면
길이오류가 납니다.
그래서 예외처리로 오류를 해결해줍니다.
if(my_str.length() >= n){
}
else{
}
코드
class Solution {
public String[] solution(String my_str, int n) {
int length = 0;
if(my_str.length() % n != 0){
length = my_str.length() / n + 1;
}
else{
length = my_str.length() / n;
}
String[] answer = new String[length];
for(int i=0; i<length; i++){
if(my_str.length() >= n){
answer[i] = my_str.substring(0, n);
my_str = my_str.substring(n, my_str.length());
}
else{
answer[i] = my_str;
}
}
return answer;
}
}
'🫧 코테 : CodingTest' 카테고리의 다른 글
| [프로그래머스] Java : 다항식 더하기 (0) | 2024.04.02 |
|---|---|
| [프로그래머스] Java : 직사각형 넓이 구하기 (0) | 2024.04.01 |
| [프로그래머스] Java : 숫자 찾기(ASCII) (1) | 2024.03.22 |
| [프로그래머스] Java : 문자열 계산하기 (0) | 2024.03.20 |
| [프로그래머스] Java : 약수 구하기(copyOf) (0) | 2024.03.20 |