728x90
반응형
문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한사항
5 ≤ num_list의 길이 ≤ 20
1 ≤ num_list의 원소 ≤ 9
1 ≤ n ≤ 4
입출력 예
num_list n result
[4, 2, 6, 1, 7, 6] 2 [4, 6, 7]
[4, 2, 6, 1, 7, 6] 4 [4, 7]
입출력 설명
입출력 예 #1
[4, 2, 6, 1, 7, 6]에서 2개 간격으로 저장되어 있는 원소들은 [4, 6, 7]입니다.
입출력 예 #2
[4, 2, 6, 1, 7, 6]에서 4개 간격으로 저장되어 있는 원소들은 [4, 7]입니다.
내 풀이
Java
import java.util.*;
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = {};
List<Integer> list = new ArrayList<>();
for(int i = 0; i < num_list.length; i += n){
list.add(num_list[i]);
}
answer = new int[list.size()];
for(int i = 0; i < list.size(); i++){
answer[i] = (int)list.get(i);
}
return answer;
}
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// num_list_len은 배열 num_list의 길이입니다.
int* solution(int num_list[], size_t num_list_len, int n) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(sizeof(int) * num_list_len / n + 1);
int i, k;
for(i = 0, k = 0; i < num_list_len; i += n){
answer[k++] = num_list[i];
}
return answer;
}
Python
def solution(num_list, n):
answer = [num_list[i] for i in range(0, len(num_list), n)]
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/181888
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
728x90
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] 왼쪽 오른쪽 (5) | 2025.03.08 |
---|---|
[코딩테스트 Lv.0] n 번째 원소까지 (4) | 2025.03.08 |
[코딩테스트 Lv.0] 홀수 vs 짝수 (3) | 2025.03.07 |
[코딩테스트 Lv.0] 5명씩 (1) | 2025.03.07 |
[코딩테스트 Lv.0] 할 일 목록 (2) | 2025.03.06 |