Skip to content

Commit e6f641e

Browse files
committed
[Bronze I] Title: 유진수, Time: 48 ms, Memory: 32412 KB -BaekjoonHub
1 parent 2fadcc4 commit e6f641e

2 files changed

Lines changed: 59 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# [Bronze I] 유진수 - 1356
2+
3+
[문제 링크](https://www.acmicpc.net/problem/1356)
4+
5+
### 성능 요약
6+
7+
메모리: 32412 KB, 시간: 48 ms
8+
9+
### 분류
10+
11+
수학, 구현, 문자열, 브루트포스 알고리즘, 사칙연산
12+
13+
### 제출 일자
14+
15+
2025년 5월 23일 21:01:25
16+
17+
### 문제 설명
18+
19+
<p>유진수는 어떤 수를 10진수로 표현한 뒤 그 수를 두 부분으로 나눴을 때, 앞부분 자리수의 곱과 뒷부분 자리수의 곱이 같을 때를 말한다.</p>
20+
21+
<p>예를 들어, 1221은 유진수이다. 12와 21로 나눴을 때, 앞부분 자리수의 곱 1*2는 뒷부분 자리수의 곱 2*1과 같기 때문이다. 1236도 마찬가지로 유진수이다. 하지만, 1234는 아니다. 수를 나눌 때 항상 연속된 자리수를 나눠야하고, 각 부분에 적어도 한자리는 있어야 한다.</p>
22+
23+
<p>예를 들어, 12345는 총 4가지 방법으로 나눌 수 있다. 1-2345, 12-345, 123-45, 1234-5 어떤 수 N이 주어질 때, 이 수가 유진수인지 아닌지 구하는 프로그램을 작성하시오.</p>
24+
25+
### 입력
26+
27+
<p>첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 같은 자연수이다.</p>
28+
29+
### 출력
30+
31+
<p>첫째 줄에 N이 유진수이면 YES, 아니면 NO를 출력한다.</p>
32+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 1356 유진수
2+
3+
import sys
4+
input = sys.stdin.readline
5+
6+
n = list(input().strip())
7+
8+
for i in range(1, len(n)):
9+
10+
if len(n) == 1:
11+
print("NO")
12+
break
13+
14+
sum_a = 1
15+
sum_b = 1
16+
17+
for a in n[:i]:
18+
sum_a *= int(a)
19+
20+
for b in n[i:]:
21+
sum_b *= int(b)
22+
23+
if sum_a == sum_b:
24+
print("YES")
25+
break
26+
else:
27+
print("NO")

0 commit comments

Comments
 (0)