프로그래머스 알고리즘 문제

프로그래머스 Python 알고리즘 문제 2차원으로 만들기

5kiran 2022. 12. 13.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120842

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.

num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_li

st의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.

 

처음에 이 문제를 봤을 때 어떻게 풀어야하지?? 라는 생각을 했었다.

해답은 range(a,b,c)

c에서 찾을 수 있었다.

c는 한번 실행 했을 때 뛰어 넘는 숫자 Js로 보면 마치

for(let i = a; b ; c) 와 같은 개념이였다

 

그리고 인덱스 슬라이싱을 활용해 문제를 풀었다

 

def solution(num_list, n):
    answer = []
    for i in range(0,len(num_list),n):
        answer += [num_list[i:i+n]]
    return answer

n = 2 라면

우선 반복문을 0부터  num_list의 길이만큼 도는데 n만큼 뛰어 넘어준다

i = 0 이 되고 answer에 num_list[0:0+2] 를 배열로 넣어준다.

i = 2 가 되고 answer애 num_list[2:2+2] 를 배열로 넣어준다.

반복!!!

 

반응형

댓글