


* 문제 풀이
import java.util.*;
class Solution {
public List solution(int[] arr) {
List<Integer> answer = new ArrayList<>();
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i]; j++){
answer.add(arr[i]);
}
}
return answer;
}
}
컬렉션프레임워크 : 한꺼번에 많은 데이터들을 처리하기 위한 구조, 형식을 제공하는 것.
ArrayList : List 인터페이스를 상속 받은 자식 클래스. java.util에서 제공
ㄴ형식
List<자료형> 객체명 = new ArrayList<>();
ㄴ 값 추가
add(추가할 값)메소드 : 마지막에 값을 추가한다.
반환값은 List<Integer> 타입
결과를 저장할 ArrayList<Integer>를 선언하고 초기화
첫번째 for 문에서 arr의 요소를 각각 하나씩 확인, 두번째 for 문에서 현재 요소의 값만큼 반복하여 리스트에 추가
arr[i]가 5 일 경우, 5를 5번 추가
answer에 값을 반환.
* 다른 풀이
class Solution {
public int[] solution(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
int[] answer = new int[sum];
int index = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i]; j++) {
answer[index++] = arr[i];
}
}
return answer;
}
}
https://sigfriede.tistory.com/231
[프로그래머스 코딩테스트] 배열의 원소만큼 추가하기(Java)
문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일
sigfriede.tistory.com
이 풀이를 보면서 역시 수학머리가 있어야 한다를 다시 한 번 느끼게 됐다...
sum 변수 = answer 배열의 크기
위 예시에서 arr가 [5, 1, 4] 일 때 5+1+4 = 10. answer 배열의 크기는 10이 된다.
* 프로그래머스 다른 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/181861/solution_groups?language=java
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] 두 수의 연산값 비교하기 (0) | 2025.02.03 |
|---|---|
| [프로그래머스/java/Lv.0] 이어 붙인 수 (0) | 2025.02.02 |
| [프로그래머스/java/Lv.0] 인덱스 바꾸기 (0) | 2025.01.25 |
| [프로그래머스/java/Lv.0] 더 크게 합치기 (0) | 2025.01.22 |
| [프로그래머스/java/Lv.0] 배열 비교하기 (0) | 2025.01.21 |