Algorithm/COS
[COS Pro 1급, Python] 4차 8번 : n번째로 작은 수 구하기
JMcunst
2022. 2. 25. 13:17
728x90
반응형
문제 유형
코딩
난이도
hard
Note
1. set 알기 : 배열 원소의 중복 제거
2. itertools의 permutations : 순열을 만들어 주는 라이브러리 함수
3. 1번과 2번을 알면 쉬움.
Code
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
import itertools
def solution(card, n):
answer = -1
card = list(map(str, card))
nums = list(map(''.join, itertools.permutations(card)))
nums = list(set(map(int, nums)))
nums.sort()
for i in range(len(nums)):
if n == nums[i]:
answer = i+1
return answer
card1 = [1, 2, 1, 3]
n1 = 1312
ret1 = solution(card1, n1)
print("solution 함수의 반환 값은", ret1, "입니다.")
card2 = [1, 1, 1, 2]
n2 = 1122
ret2 = solution(card2, n2)
print("solution 함수의 반환 값은", ret2, "입니다.")
※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
728x90
반응형