-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Bronze I] Title: 유진수, Time: 116 ms, Memory: 108080 KB -BaekjoonHub
- Loading branch information
Showing
2 changed files
with
45 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# [Bronze I] 유진수 - 1356 | ||
|
||
[문제 링크](https://www.acmicpc.net/problem/1356) | ||
|
||
### 성능 요약 | ||
|
||
메모리: 108080 KB, 시간: 116 ms | ||
|
||
### 분류 | ||
|
||
사칙연산, 브루트포스 알고리즘, 구현, 수학, 문자열 | ||
|
||
### 제출 일자 | ||
|
||
2024년 2월 26일 22:03:56 | ||
|
||
### 문제 설명 | ||
|
||
<p>유진수는 어떤 수를 10진수로 표현한 뒤 그 수를 두 부분으로 나눴을 때, 앞부분 자리수의 곱과 뒷부분 자리수의 곱이 같을 때를 말한다.</p> | ||
|
||
<p>예를 들어, 1221은 유진수이다. 12와 21로 나눴을 때, 앞부분 자리수의 곱 1*2는 뒷부분 자리수의 곱 2*1과 같기 때문이다. 1236도 마찬가지로 유진수이다. 하지만, 1234는 아니다. 수를 나눌 때 항상 연속된 자리수를 나눠야하고, 각 부분에 적어도 한자리는 있어야 한다.</p> | ||
|
||
<p>예를 들어, 12345는 총 4가지 방법으로 나눌 수 있다. 1-2345, 12-345, 123-45, 1234-5 어떤 수 N이 주어질 때, 이 수가 유진수인지 아닌지 구하는 프로그램을 작성하시오.</p> | ||
|
||
### 입력 | ||
|
||
<p>첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 같은 자연수이다.</p> | ||
|
||
### 출력 | ||
|
||
<p>첫째 줄에 N이 유진수이면 YES, 아니면 NO를 출력한다.</p> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
N = input() | ||
ok = 0 | ||
for i in range(1, len(N)): | ||
s1, s2 = N[:i], N[i:] | ||
m1 = m2 = 1 | ||
for n in s1: | ||
m1 *= int(n) | ||
for n in s2: | ||
m2 *= int(n) | ||
if m1 == m2: | ||
ok = 1 | ||
break | ||
print("YES" if ok else "NO") |