첫째 줄에 수열 원소의 길이 N, 출력할 수열의 길이 M
둘째 줄에 수열의 원소를 입력받음
가능한 모든 수열을 출력
수열을 사전 순으로 출력 => 수열의 원소를 오름차순으로 정렬
중복되는 수열은 출력하지 않음 => 동일한 원소인지 체크 & 이미 출력한 수열인지 체크
list_ = list(map(int, sys.stdin.readline().split()))
list_.sort()
for idx in range(0, N):
if idx in check: continue
ans.append(str(list_[idx]))
check.append(idx)
dfs()
ans.pop()
check.pop()
if len(ans) == M:
tmp = ''.join(ans)
check_ans.add(tmp)
if check_ans_len != len(check_ans):
print(*ans)
check_ans_len += 1
return
중복된 수열인지 확인하기 위해 처음에는 check_ans를 리스트로 생성 후
if ans in check_ans
로 확인하였지만 시간 초과 발생
check_ans를 set 으로 변경 후 길이를 확인하여 시간 초과 해결