728x90
반응형
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.
제한사항
1 ≤ arr의 길이 ≤ 100
1 ≤ arr의 원소 ≤ 100
입출력 예
arr result
[5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]
[6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
[1] [1]
입출력 설명
입출력 예 #1
예제 1번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a X
[]
5 [5, 5, 5, 5, 5]
1 [5, 5, 5, 5, 5, 1]
4 [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]
따라서 [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]를 return 합니다.
입출력 예 #2
예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a X
[]
6 [6, 6, 6, 6, 6, 6]
6 [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
따라서 [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]를 return 합니다.
입출력 예 #3
예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a X
[]
1 [1]
따라서 [1]을 return 합니다.
내 풀이
Java
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
Stack<Integer> stack = new Stack<>();
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i]; j++){
stack.push(arr[i]);
}
}
answer = stack.stream().mapToInt(Integer::intValue).toArray();
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// arr_len은 배열 arr의 길이입니다.
int* solution(int arr[], size_t arr_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(10001);
int i = 0, j = 0;
int k = 0;
for(i = 0; i < arr_len; i++){
for(j = 0; j < arr[i]; j++){
//printf("%d, %d ", k, arr[i]);
answer[k++] = arr[i];
}
}
answer[k] = '\0';
return answer;
}
Python
def solution(arr):
answer = []
for i in arr:
for j in range(i):
answer.append(i)
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181861
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] rny_string (0) | 2025.02.08 |
---|---|
[코딩테스트 Lv.0] 세 개의 구분자 (0) | 2025.02.08 |
[코딩테스트 Lv.0] 빈 배열에 추가, 삭제하기 (0) | 2025.01.22 |
[코딩테스트 Lv.0] 배열 만들기 6 (0) | 2024.12.11 |
[코딩테스트 Lv.0] 무작위로 K개의 수 뽑기 (1) | 2024.09.03 |