본문 바로가기
알고리즘/SWEA

SWEA : 5658. [모의 SW 역량테스트] 보물상자 비밀번호 (python)

by newjp 2021. 12. 7.

SWEA 5658 문제링크

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

풀이

문제에 써 있는 그대로 구현 하면 되는 문제... 모의 SW 역량테스트 중에서는 쉬운 것 같다. 내가 풀었으면 ,,, 쉬운 편인듯
암호 중복은 없어야 해서 set을 사용했고, 회전 수는 한 변에 할당된 문자열의 개수이다.

코드

def rotation(N, num):
    cases = set()
    cvt = []
    for i in range(0, len(num), N//4):
        cases.add(num[i:i+(N//4)])
    for j in cases:
        cvt.append(int(j, 16))
    return sorted(cvt, reverse=True)

T = int(input())
for tc in range(1, T+1):
    N, K = map(int, input().split())
    temp_n = input()
    num = ''
    for i in range(N//4):
        num += temp_n[i:]+temp_n[:i]
    print('#{} {}'.format(tc, rotation(N, num)[K-1]))