-
[프로그래머스] 배열의 원소만큼 추가하기알고리즘 노트 2023. 11. 3. 11:38
각 원소의 숫자만큼 같은 값을 만들어내는 방식으로 사용하면 됩니다.
for문을 중첩으로 구현하면 매우 쉽습니다.
[문제풀이]
1. 가변적으로 데이터를 넣을 수 있는 List를 만들어줍니다.
2. for문을 중첩으로 구현하여 arr배열의 a를 꺼내 그 만큼의 for loop를 돌면서 answer에 a를 add 시켜줍니다.
3. answer 리스트를 int형으로 변환하여 배열로 반환합니다.
위 방식을 보다 쉽게 푸는 방법은 Collections.nCopies() 메소드를 사용하는 것입니다.
Copies() 메소드를 통해 지정한 개체의 복사본 n개로 구성된 immutable list를 반환하는 용도로 사용할 수 있습니다.
이에 힌트를 얻어 다시 코드를 작성해보면 다음과 같이 구현할 수 있습니다.
[문제풀이]
1. flatMap을 통해 arr에 들어있는 원소 하나씩 꺼내 Collections.nCopies() 함수에 호출한 뒤 stream()을 통해 List를 Stream으로 변경합니다.
2. mapToInt를 통해 int타입으로 변경한 뒤 toArray()로 int배열을 만들어 리턴합니다.
'알고리즘 노트' 카테고리의 다른 글
[프로그래머스] 정사각형으로 만들기 (0) 2023.12.13 [프로그래머스] 정수를 나선형으로 배치하기 (0) 2023.12.12 [프로그래머스] 5명씩 (0) 2023.10.25 [프로그래머스] 왼쪽 오른쪽 (0) 2023.10.24 [프로그래머스] 배열 조각하기 (0) 2023.10.23