카드 숫자 곱을 최소로 만들기
면접 대비시간 제한1초메모리 제한512 MB
1부터 9까지의 숫자 n개가 주어질 때, 곱이 더 큰 숫자 n개의 집합 중 오름차순으로 이어 붙인 수가 가장 작은 집합을 찾습니다. 그런 집합이 없으면 -1을 출력합니다.
문제
1부터 9까지의 정수가 하나씩 적힌 카드가 무수히 많이 있다. 이 중에서 장의 카드를 고르자. 같은 정수가 적힌 카드를 여러 장 고를 수 있다. 내가 고른 장의 카드 집합을 , 친구가 고른 장의 카드 집합을 라고 하자. 집합 에 있는 카드에 적힌 정수의 곱을 , 집합 에 있는 카드에 적힌 정수의 곱을 라고 하자. 집합 가 주어지면, 를 만족하는 집합 를 하나 출력하자. 만족하는 집합 가 여러 개면, 의 원소를 오름차순으로 정렬해 이어 붙인 수가 가장 작은 를 출력하자. 만족하는 가 없으면 을 출력하자.
입력
첫 번째 줄에 카드 개수 이 주어진다. 두 번째 줄에 내가 고른 장의 카드에 적힌 정수가 공백으로 구분되어 순서대로 주어진다.
출력
첫 번째 줄에 친구가 고른 집합 의 원소를 오름차순으로 공백을 사이에 두고 출력한다.