백준 20205번: 교수님 그림이 깨지는데요?

KimRiun·2021년 4월 18일
0

알고리즘_문제

목록 보기
3/26
post-thumbnail

사용 언어: python 3.7.4

❓ Problem

문제 설명

문제
2020 중앙대학교 프로그래밍 경진대회(CPC) A번
백준 20205번: 교수님 그림이 깨지는데요?

🚩 Solution

1. 접근법

Step1) 입력받기

n, k = map(int, input().split())

list1 = []
for i in range(n):
    list1.append(list(map(int, input().split())))

Step2) 2차원 리스트 출력해보기

for i in range(n):
    for j in range(n):
        print(list1[i][j], end = ' ')
    print()

Step3) 열을 k번씩 반복하기

for i in range(n):
    for j in range(n):
        for m in range(k): # add
            print(list1[i][j], end = ' ')
    print()

Step4) 행을 k번씩 반복하기

for i in range(n):
    for l in range(k): # add
        for j in range(n):
            for m in range(k):
                print(list1[i][j], end = ' ')
        print()

한 눈에 보기

2. 코드


n, k = map(int, input().split())

list1 = []

for i in range(n):
    list1.append(list(map(int, input().split())))

for i in range(n):
    for l in range(k):
        for j in range(n):
            for m in range(k):
                print(list1[i][j], end = ' ')
        print()

3. 결과

채점 결과

correct

메모리시간코드길이
29028 KB68 ms285 B

시간 복잡도 분석

O(k2^2N2^2)

📕 피드백

1. 검색한 내용

2차원 리스트 입력받기:

### 행: n, 열: m
n,m=map(int, input().split()) 

### 행렬 데이터 입력
#1
mylist=[0 for _ in range(n)]

for i in range(n):
    mylist[i]=list(map(int, input().split()))

#2
mylist=[]
for i in range(n):
    mylist.append(list(map(int, input().split())))

#3
mylist=[list(map(int, input().split())) for _ in range(n)]

2. 실수

n과 k가 같은 값이 아닐 수도 있는데 이 부분을 놓쳐서 틀린 코드를 제출했다.

3. 발전 방향

처음 풀 때 k번씩 반복하는 for문 위치를 잘못 넣어서 헤맸다.

for문 동작을 척 보면 알 수 있게 자주 연습이 필요하다.

4. 느낀점

백준 대회 문제 풀어보려고 서성이다가 작년에 영상처리 수업에서 배운 내용과 비슷해 보이길래 택했다.
어려운 게 아님을 아는데 생각보다 오래 걸려서 당황스럽고 나 자신에게 실망했다.
아직 파이썬이 낯설다.

profile
Java, Python

0개의 댓글