SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
📌 작성한 풀이
def dfs(numbers,cnt):
global result
temp = "".join(numbers)
if int(temp) in result[cnt]: return
else: result[cnt].append(int(temp))
if cnt == 0: return
n = len(numbers)
for i in range(n-1):
for j in range(i+1,n):
numbers[i],numbers[j] = numbers[j],numbers[i]
dfs(numbers, cnt -1)
numbers[j],numbers[i] = numbers[i],numbers[j]
t = int(input())
for tc in range(1,1+t):
nums, count = input().split()
nums = list(nums)
result = [[] for _ in range(int(count)+1)]
dfs(nums,int(count))
print(f'#{tc} {max(result[0])}')
참고)
'알고리즘 > SWEA' 카테고리의 다른 글
| [Python] SWEA D3 : 1217 - [S/W 문제해결 기본] 4일차 - 거듭 제곱 (1) | 2023.11.12 |
|---|---|
| [Python] SWEA D3 : 5215 - 햄버거 다이어트 (0) | 2023.11.11 |
| [Python] SWEA D3 : 1220 - [S/W 문제해결 기본] 5일차 - Magnetic (2) | 2023.11.08 |
| [Python] SWEA D3 : 1209 - [S/W 문제해결 기본] 2일차 - Sum (0) | 2023.11.08 |
| [Python] SWEA D3 : 1289 - 원재의 메모리 복구하기 (0) | 2023.11.08 |