SSAFY 8기에 합격했다. 학사 규칙을 둘러보니 1학기 내에 삼성 소프트웨어 역량테스트 A는 최소 따야한다.
그런김에 SWEA 모의 역량 테스트를 풀어봤다.
문제 복제를 하지 말라해서 링크만!
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo
풀이는 매우 간단하다. 받은 문자열에서 만들 수 있는 모든 수를 만들어서 num list에 넣고 (물론 이때 중복제거는 해야한다) sort(reverse=True) 돌려서 K-1번째 수 출력하면된다.
T=int(input())
digit=['0','1','2','3','4','5','6','7','8','9']
for test in range(1,T+1):
N,K=map(int,input().split(' '))
get=input()
nums=[]
for i in range(N):
t=0# 해당 위치에서 만들 수 있는 수를 넣을 변수
for j in range(N//4):
if(get[(i+j)%N] in digit):
t+=int(get[(i+j)%N])*16**((N//4)-1-j)
else:
t+=(ord(get[(i+j)%N])-ord('A')+10)*16**((N//4)-1-j)
if t not in nums:# 중복체크
nums.append(t)
nums.sort(reverse=True)
print(f"#{test} {nums[K-1]}")
이렇게만 나오면 참 쉬울텐데... 이게 엄청 쉬운거일듯... 흐으 노력하자 종식아!