[구현] 배열돌리기, 짝지어 제거하기
1. 배열돌리기
링크 - https://www.acmicpc.net/problem/17276
import copy
import sys
input = sys.stdin.readline
t = int(input().rstrip())
#시계방향
def rotate_clock(k,arr):
    rotate_arr = copy.deepcopy(arr)
    for j in range(k):
        mid = n//2
        for i in range(n):
            rotate_arr[i][mid] = arr[i][i]
            rotate_arr[i][n-i-1]= arr[i][mid]
            rotate_arr[mid][i] = arr[n-i-1][i]
            rotate_arr[i][i] = arr[mid][i]
        arr=copy.deepcopy(rotate_arr)
    return arr
#시계방향
def rotate_counter(k,arr):
    rotate_arr = copy.deepcopy(arr)
    for j in range(k):
        mid = n//2
        for i in range(n):
            rotate_arr[mid][i] = arr[i][i]
            rotate_arr[i][i]= arr[i][mid]
            rotate_arr[i][mid] = arr[i][n-i-1]
            rotate_arr[n-i-1][i] = arr[mid][i]
        arr=copy.deepcopy(rotate_arr)
    return arr
for _ in range(t):
    n,rotate = map(int,input().rstrip().split())
    arr = []
    #배열 입력 받기
    for i in range(n):
        line = list(map(int,input().rstrip().split()))
        arr.append(line)
        
    if rotate>0:
        k = (rotate//45)
        arr = rotate_clock(k,arr)
    else:
        k = (rotate//-45)
        arr = rotate_counter(k,arr)
    
    for i in range(n):
        for j in range(n):
            print(arr[i][j],end=" ")문제에 쓰여있는대로 구현을 하면 되는 문제였다. 계속 틀렸습니다가 나왔었는데 k=(rotate//45)%4 에서 그냥 k=(rotate//45)로 바꿔주었더니 해결됐었다.
+) 범위가 0<=d<=360이여서 나눌 필요가 없었고, 나눌거면 4가 아니라 8로 나눴어야 했다. 
2. 짝지어 제거하기
def solution(s):
    stack=[]
    stack.append(s[0])
    count=1
    for i in range(1,len(s)):
        if len(stack)!=0 and stack[-1]==s[i]:
            stack.pop()
        else:
            stack.append(s[i])
    
    if len(stack)==0:
        return 1
    else:
        return 0그대로 구현을 하려다가 스택을 사용하면 더 편할 거 같아서 스택을 이용하여 풀었다.
+한 문제 더 풀려고 했는데 시간초과가 나서 내일 풀어야겠다..
프로그래머스 - 메뉴 리뉴얼을 풀 때 쓰면 좋은 함수라고 해서 정리
추가 - Counter함수 사용법
from collections import Counter
s="hello"
print(Counter(s).most_common()) 
#[('l', 2), ('h', 1), ('e', 1), ('o', 1)]
Counter함수를 사용하면 따로 구현할 필요 없이 문자열에 있는 문자의 개수를 세어준다.
Author And Source
이 문제에 관하여([구현] 배열돌리기, 짝지어 제거하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@isg/구현-배열돌리기-짝지어-제거하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)