[JAVA 문제 풀이] 65. 잘라서 배열로 저장하기

프로그래머스 (120913)
Stupefyee's avatar
Jan 17, 2025
[JAVA 문제 풀이] 65. 잘라서 배열로 저장하기
notion image

내가 작성한 코드

💡
import java.util.*; class Solution { public String[] solution(String my_str, int n) { List<String> ans = new ArrayList<>(); // 답을 담아둘 리스트 int i = 0; // 인덱스 값 while(i < my_str.length()) { // i가 my_str길이보다 커질때까지 반복 // 리스트에 문자열 인덱스 값으로 잘라서 넣기 ans.add(my_str.substring(i, Math.min(i + n, my_str.length()))); i += n; // 인덱스 값 올려주기 } // 문자열 배열로 반환 return ans.toArray(new String[0]); // 문자열 배열의 길이가 알아서 리스트 길이로 맞춰짐 } }
  • Math.min(int1, int2)
    • 입력 받은 두 개의 정수 중 더 작은 값을 사용함

다른 사람의 코드

💡
class Solution { public String[] solution(String my_str, int n) { String[] answer = {}; // 배열의 길이값 구해두기 if (my_str.length() % n == 0) answer = new String[my_str.length() / n]; else answer = new String[my_str.length() / n + 1]; // 삼항연산자 사용하여 인덱스 끝값이 문자열 길이 넘어가는걸 방지 for (int i = 0; i < answer.length; i++) { answer[i] = (i * n + n <= my_str.length() - 1 ? my_str.substring(i * n, i * n + n) : my_str.substring(i * n)); } return answer; } }
Share article

stupefyee