본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩 기초 트레이닝) : 정사각형으로 만들기

반응형

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

 

프로그래머스

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

programmers.co.kr

간단 배열 다루기 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

행 길이 row_len, 열 길이 col_len을 선언 후 적절히 초기화합니다.

📔 풀이과정

두 가지로 나누어 arr을 갱신합니다.1. row_len이 col_len을 초과한다면각 행마다 for loop를 수행하며 row_len - col_len만큼의 0을 각 행 배열에 extend해줍니다.

 

2. row_len이 col_len 미만이라면col_len - row_len만큼 for loop를 수행해 col_len길이의 0 배열을 가진 행을 arr에 추가합니다.

📔 정답 출력 | 반환

arr를 반환합니다.


📕 Code

📔 Python3

def solution(arr):
    row_len = len(arr)
    col_len = len(arr[0])
    if row_len > col_len:
        for r in range(0, row_len):
            arr[r].extend([0] * (row_len - col_len))
    if row_len < col_len:
        for i in range(0, col_len - row_len):
            arr.append([0]*col_len)
    return arr

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.