-
[백준 문제풀이] 얼렁뚱땅 16926번 배열돌리기 1 풀이얼렁뚱땅 백준 문제풀이 2022. 8. 3. 23:18
사실은 pypy로만 통과되고 python으로는 통과 안되는데..
그리고 사실은 다른 사람들보다 5배 정도 시간 더 걸리는데 ..
다들 오또케 푸시는 건지 정말 궁금하지만
졸려서 먼저 자러 갑니다 ^^ 그럼 안뇽
https://www.acmicpc.net/problem/16926 import sys n, m, circle_how_many = map(int,sys.stdin.readline().split()) array = [list(map(int,sys.stdin.readline().split())) for i in range(n)] def circle(temp, min_row, min_col, max_row, max_col) : for i in range(min_row,max_row+1) : if i==min_row or i==max_row : j_list = range(min_col,max_col+1) else : j_list = [min_col, max_col] for j in j_list : if i == min_row and j != max_col : temp[i][j] = array[i][j+1] elif i > min_row and j == min_col : temp[i][j] = array[i-1][j] elif i == max_row and j != min_col : temp[i][j] = array[i][j-1] elif i < max_row and j== max_col : temp[i][j] = array[i+1][j] return temp circle_num = min(n,m) // 2 for i in range(circle_how_many) : min_row = 0 min_col = 0 max_row = n-1 max_col = m-1 temp = [[0]*m for _ in range(n)] for j in range(circle_num) : temp = list(circle(temp,min_row, min_col, max_row, max_col)) min_row += 1 min_col += 1 max_row -= 1 max_col -= 1 array = list(temp) for i in range(len(array)) : print(*array[i])
'얼렁뚱땅 백준 문제풀이' 카테고리의 다른 글
[백준 문제풀이] 얼렁뚱땅 1463번 1로 만들기 풀이 (0) 2022.08.05 [백준 문제풀이] 얼렁뚱땅 21608번 상어초등학교 풀이 (0) 2022.08.05 [백준 문제풀이] 얼렁뚱땅 2668번 숫자고르기 풀이 (0) 2022.08.03 [백준 문제풀이] 얼렁뚱땅 2660번 회장뽑기 풀이 (0) 2022.08.02 [백준 문제풀이] 얼렁뚱땅 1793번 타일링 풀이 (0) 2022.08.02