Skip to content

Commit 48ac300

Browse files
committed
2023-06-21 백준 문제 풀이
1 parent 3a41284 commit 48ac300

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# [Bronze I] 유진수 - 1356
2+
3+
[문제 링크](https://www.acmicpc.net/problem/1356)
4+
5+
### 성능 요약
6+
7+
메모리: 14320 KB, 시간: 128 ms
8+
9+
### 분류
10+
11+
사칙연산, 브루트포스 알고리즘, 구현, 수학, 문자열
12+
13+
### 문제 설명
14+
15+
<p>유진수는 어떤 수를 10진수로 표현한 뒤 그 수를 두 부분으로 나눴을 때, 앞부분 자리수의 곱과 뒷부분 자리수의 곱이 같을 때를 말한다.</p>
16+
17+
<p>예를 들어, 1221은 유진수이다. 12와 21로 나눴을 때, 앞부분 자리수의 곱 1*2는 뒷부분 자리수의 곱 2*1과 같기 때문이다. 1236도 마찬가지로 유진수이다. 하지만, 1234는 아니다. 수를 나눌 때 항상 연속된 자리수를 나눠야하고, 각 부분에 적어도 한자리는 있어야 한다.</p>
18+
19+
<p>예를 들어, 12345는 총 4가지 방법으로 나눌 수 있다. 1-2345, 12-345, 123-45, 1234-5 어떤 수 N이 주어질 때, 이 수가 유진수인지 아닌지 구하는 프로그램을 작성하시오.</p>
20+
21+
### 입력
22+
23+
<p>첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 같은 자연수이다.</p>
24+
25+
### 출력
26+
27+
<p>첫째 줄에 N이 유진수이면 YES, 아니면 NO를 출력한다.</p>
28+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
import java.io.BufferedReader;
3+
import java.io.BufferedWriter;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
import java.io.OutputStreamWriter;
7+
import java.util.ArrayList;
8+
import java.util.Arrays;
9+
import java.util.StringTokenizer;
10+
11+
public class Main {
12+
13+
public static void main(String[] args) throws IOException {
14+
// TODO Auto-generated method stub
15+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
16+
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
17+
StringBuilder sb = new StringBuilder();
18+
StringTokenizer st = new StringTokenizer(br.readLine());
19+
char[] c = st.nextToken().toCharArray();
20+
int t = c.length - 1;
21+
int div = 1;
22+
while(t --> 0) {
23+
int a = c[0] - '0';
24+
int b = c[c.length - 1] - '0';
25+
for(int i = 1; i < div; i++) {
26+
a *= c[i] - '0';
27+
}
28+
for(int i = div; i < c.length - 1; i++) {
29+
b *= c[i] - '0';
30+
}
31+
if(a == b) {
32+
System.out.println("YES");
33+
return;
34+
}else div++;
35+
}
36+
sb.append("NO");
37+
bw.write(sb.toString());
38+
bw.flush();
39+
bw.close();
40+
br.close();
41+
}
42+
43+
}

0 commit comments

Comments
 (0)