| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 168 | 70 | 43 | 40.566% |
양의 정수 $N$이 주어진다. 0부터 9까지의 숫자와 곱하기 *, 거듭제곱 ^의 연산기호를 이용하여 $N$을 표현하는 가장 짧은 길이의 식을 구하시오.
식은 후위 표기법으로 나타내고, 각 수 또는 연산기호는 공백으로 구분한다. 단, 공백은 식의 길이에 포함하지 않는다.
양의 정수 $N$이 주어진다. $(1 \leq N \leq 10^8)$
$N$을 표현하는 가장 짧은 길이의 식을 후위 표기법으로 출력한다. 만약 가능한 식이 여러 개 있을 경우 그중 아무거나 하나를 출력한다.
1
1
10000
10 4 ^
식의 길이는 $2+1+1 = 4$이다.
후위 표기법은 연산자를 연산 대상의 뒤에 쓰는 연산 표기법이다. 수식의 앞에서부터 수는 스택에 저장하고, 연산자는 스택에서 두 수를 꺼내 연산하여 스택에 넣는다.
예를 들어, 후위 표기식 3 2 3 * ^는 다음과 같이 $729$로 계산된다.