Development Artist

[COS Pro 1급, Python] 4차 8번 : n번째로 작은 수 구하기 본문

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
반응형
Comments