SW Expert Academy 1961. 숫자 배열 회전
문제에서는 N * N 행렬이 주어질 때, 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력해야 한다.
삼성 SW Expert Academy에서 푼 문제 리스트 보기
문제 풀이
문제 자체는 어렵지 않다. 파이썬의 zip 함수를 사용한다면 문제를 쉽게 풀 수 있다.
matrix = [[ 1, 2, 3],
[ 4, 5, 6],
[7, 8, 9]]
matrix에 zip 함수를 사용해보면 다음과 같이 튜플 형태로 반환된다.
각 줄별로 index가 같은 값들을 가져와 새로운 배열을 만들어 준다.
zip_matrix = list(zip(*matrix))
print(zip_matrix )
[(1, 4, 7),
(2, 5, 8),
(3, 6, 9)]
파이썬 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | def solve(case, n, rotation_map): result = [[] for i in range(n)] # 총 3번 회전한다 for count in range(3): new_map = [] index = 0 for z in zip(*rotation_map): new_map.append(list(reversed(z))) result[index].append(''.join(list(reversed(z)))) index += 1 rotation_map = new_map print('#{0}'.format(case)) for w in result: print(' '.join(w)) if __name__ == "__main__": t = int(input()) for i in range(t): lines = [] n = int(input()) for j in range(n): line = list(map(str, input().strip().split())) lines.append(line) solve(i + 1, n, lines) | cs |
#SW Expert Academy 1961. 숫자 배열 회전 #1961. 숫자 배열 회전 #python 1961. 숫자 배열 회전 #1961. 숫자 배열 회전 python #1961 숫자 배열 회전 #1961 숫자 배열 회전 python #파이썬 1961 숫자 배열 회전 #줄기세포 배양 문제 #1961. 숫자 배열 회전 #python으로 푸는 1961 숫자 배열 회전
'온라인 코딩 테스트 문제 풀이 > 삼성 SW Expert 문제 풀이' 카테고리의 다른 글
Python으로 푸는 SW Expert Academy 2819. 격자판의 숫자 이어 붙이기 (0) | 2019.02.22 |
---|---|
Python으로 푸는 SW Expert Academy 1240. 단순 2진 암호코드 (0) | 2019.02.19 |
Python으로 푸는 SW Expert Academy 4613. 러시아 국기 같은 깃발 (0) | 2019.02.17 |
Python으로 푸는 SW Expert Academy 4615. 재미있는 오셀로 게임 (0) | 2019.02.16 |