https://school.programmers.co.kr/learn/courses/30/lessons/120913
[프로그래머스] 잘라서 배열로 저장하기 - Java (velog.io)
정답
import java.util.ArrayList;
class Solution {
public String[] solution(String my_str, int n) {
ArrayList<String> list = new ArrayList<>();
//문자열 길이가 n 값에 나눠떨어지는 경우
for(int i=0; i< (my_str.length()/n) ; i++)
{
list.add(my_str.substring((n*i),(n*(i+1))));
}
//나눠떨어지지 않는 경우
if(my_str.length()%n !=0)
{
list.add(my_str.substring((my_str.length()/n)*n));
}
String answer[] = new String[list.size()];
for(int i=0; i<list.size(); i++)
{
answer[i] = list.get(i);
}
return answer;
}
}
다른 사람의 풀이
class Solution {
public String[] solution(String my_str, int n) {
int resultCnt = (my_str.length() + n - 1) / n;
String[] answer = new String[resultCnt];
for (int i = 0; i < resultCnt; i++) {
int start = n * i;
int end = start + n >= my_str.length()? my_str.length(): start + n;
answer[i] = my_str.substring(start, end);
}
return answer;
}
}
import java.util.ArrayList;
class Solution {
public ArrayList solution(String my_str, int n) {
ArrayList<String> answer = new ArrayList<>();
int i=0;
while(true){
if(i+n>=my_str.length()){
answer.add(my_str.substring(i, my_str.length()));
break;
}
answer.add(my_str.substring(i, i+n));
i+=n;
}
return answer;
}
}
import java.util.ArrayList;
import java.util.List;
class Solution {
public List<String> solution(String my_str, int n) {
List<String> list = new ArrayList<String>();
for(int i = 0; i < my_str.length(); i = i+n) {
if(i+n < my_str.length()) {
list.add(my_str.substring(i,i+n));
}
else {
list.add(my_str.substring(i));
}
}
return list;
}
}
'Java > 프로그래머스' 카테고리의 다른 글
[JAVA] 프로그래머스 - 캐릭터의 좌표 (0) | 2024.05.09 |
---|---|
[JAVA] 프로그래머스 - 직사각형 넓이 구하기 (0) | 2024.05.09 |
[JAVA] 프로그래머스 - 7의 개수 (0) | 2024.05.07 |
[JAVA] 프로그래머스 - 문자열 정렬하기(2) (0) | 2024.05.07 |
[JAVA] 프로그래머스 - 세균 증식 (0) | 2024.05.07 |