본문 바로가기
알고리즘

백준_2385_Secret Sharing(해결 못함)

by 매화of사군자 2020. 2. 13.

https://www.acmicpc.net/problem/2385

 

2385번: Secret Sharing

문제 일반적으로, 대부분의  암호알고리즘은 단 하나만의 암호 키를 사용해서 암호화 파일을 해독한다. 만약 공격자가 해킹으로 암호 키를 취득하게 되면, 정보가 샐 위험이 있게 된다. 이를 막기 위해 고안된 것이 “Secret sharing”이란 기술이다. “Secret Sharing“은 암호 키를 그룹에 있는 여러 사람에게 키를 나눠서 저장하는 방법이다.”Secret sharing“ 에서는 암호 키를 N개의 조각으로 분리하고 각각의 조각들은 share라고

www.acmicpc.net

해결방법

> itertools permutations를 이용하여 암호키를 만든다.

> 0으로 시작되는 암호키를 제거한다.

> 남은 암호키 중 가장 작은 암호키를 출력한다.

> 만약 남은 암호키가 없다면 INVALID를 출력한다.

 

위와 같이 풀었는데 어디서 잘못된지 모르겠다.

 

코드

더보기

import itertools

 

num = int(input())

num_list = input().split()

 

a = list(map(''.join, itertools.permutations(num_list)))

 

b = set()

for i in a:

    if i[0] == '0':

        b.add(i)

 

a = set(a)

a = a - b

a = sorted(a)

print(a[0]) if a else print("INVALID")

댓글