[프로그래머스/java/Lv.0] 배열의 원소만큼 추가하기

2025. 2. 1. 14:40·코테/프로그래머스 JAVA Lv.0

 

 

 

* 문제 풀이

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
'코테/프로그래머스 JAVA Lv.0' 카테고리의 다른 글
  • [프로그래머스/java/Lv.0] 두 수의 연산값 비교하기
  • [프로그래머스/java/Lv.0] 이어 붙인 수
  • [프로그래머스/java/Lv.0] 인덱스 바꾸기
  • [프로그래머스/java/Lv.0] 더 크게 합치기
amying
amying
공부해보겠슨
  • amying
    꽁꽁 얼어붙은 자바 위를 자박자박
    amying
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (332)
      • 공부 (55)
        • JAVA (17)
        • Spring (17)
        • Java Script (1)
        • React (0)
        • SQL (3)
        • DB (1)
        • CS (13)
        • 기술면접 (3)
      • Git (2)
      • 강의 (36)
        • 부스트코스: Connect On: 테크와 나를 잇.. (16)
        • 부스트코스: CS50 (20)
      • 네이버 부스트캠프 베이직 (25. 06) (0)
      • 에러 (10)
      • 코테 (205)
        • 백준 (29)
        • 프로그래머스 JAVA Lv.0 (116)
        • 프로그래머스 JAVA Lv.1 (7)
        • 프로그래머스 SQL (53)
      • 개인 프로젝트 (16)
        • 책첵 CHAEKCHECK (2)
        • 일정 관리 서비스 만들기 (0)
        • 게시판 만들기 (eclipse-JSP) (14)
      • 이것저것 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    git명령어
    알고리즘
    책첵개발일지
    프로그래머스
    부스트코스
    springbot
    에러
    코테
    lombok
    코딩테스트_입문
    업무자동화
    Java
    오라클에러
    데이터연동
    부스트코스강의
    CS50
    ORACLE에러
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
amying
[프로그래머스/java/Lv.0] 배열의 원소만큼 추가하기
상단으로

티스토리툴바