문제설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ arr의 길이 ≤ 100
- 1 ≤ arr의 원소 ≤ 100
입출력 예
입출력 예 #1
- 예제 1번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
입출력 예 #2
- 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
입출력 예 #3
- 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
따라서 [1]을 return 합니다.
풀이 방식
var answer = [];
answer라는 빈 배열을 선언합니다. 이 배열은 반복된 값을 저장할 용도로 사용됩니다.
for(let i of arr)
arr 배열을 순회하는 for...of 반복문입니다. 이 반복문은 arr의 각 요소를 차례대로 i 변수에 할당하여 반복합니다.
for(let j = 0; j < i; j++)
0부터 i까지의 범위에서 반복하는 for 반복문입니다. j 변수는 반복되는 값을 나타냅니다.
answer.push(i);
answer 배열에 i 값을 추가합니다. 이 작업은 i 값이 몇 번 반복되는지에 따라서 실행됩니다.
return answer;
반복이 완료된 후, answer 배열을 반환합니다. 이 배열은 arr 배열의 각 요소를 반복하여 구성되어 있습니다.
예를 들어, arr이 [1, 2, 3]로 주어진다면, 반복문은 다음과 같이 실행됩니다
i = 1: j는 0부터 1까지 반복하며 answer 배열에 1을 추가합니다. 결과: [1]
i = 2: j는 0부터 2까지 반복하며 answer 배열에 2를 두 번 추가합니다. 결과: [1, 2, 2]
i = 3: j는 0부터 3까지 반복하며 answer 배열에 3을 세 번 추가합니다. 결과: [1, 2, 2, 3, 3, 3]
따라서, 함수는 [1, 2, 2, 3, 3, 3]을 반환합니다.
소스코드&결과
소스코드
function solution(arr) {
var answer = [];
for(let i of arr){
for(let j = 0; j < i; j++){
answer.push(i);
}
}
return answer;
}
결과
'Coding Test > 프로그래머스' 카테고리의 다른 글
[JAVA] 소수 만들기 (0) | 2023.07.19 |
---|---|
[JAVA] 소수 찾기 (1) | 2023.07.19 |
[JAVA] 모의고사 (0) | 2023.07.14 |
[JAVA] 과일 장수 (0) | 2023.07.13 |
[JAVA] 명예의 전당 (1) (0) | 2023.07.12 |