Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 정렬
- Algorithm
- react
- 라우터
- 다익스트라 알고리즘
- 탐욕법
- sort
- 서버구축
- 백준알고리즘
- 자료구조
- nodejs
- 알고리즘
- EC2
- AWS
- BFS
- 완전탐색
- Router
- 스터디
- mysql
- ELB
- 브루트포스
- 리액트
- url parsing
- 백준
- 동적프로그래밍
- EventListener
- 토이프로젝트
- spring
- Spring Boot
- java
Archives
- Today
- Total
공부하는 블로그
Baekjoon | Q.2231 - 분해합 본문
2231번: 분해합
문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+
www.acmicpc.net
분해합이 주어지면 그 분해합을 만들 수 있는 생성자를 찾는 문제이다. 분해합이란 어떤 수 N과 N을 이루는 각 자리수의 합을 의미하는데 이 때 N을 생성자라고 한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int m = 0;
for (int i = 0; i < n; i++) {
int m1 = i;
int n1 = i; // 분해합을 저장할 변수
while(m1 > 0) {
n1 += m1 % 10; // 자릿수를 더하고
m1 /= 10; // 다음 자릿수로 이동
}
if(n1 == n) {
m = i;
break;
}
}
System.out.println(m);
}
}
for문을 이용하여 1부터 n까지 모든 경우를 확인해보는 브루트 포스 문제이다. 간단하게 해결할 수 있었다.
'알고리즘 공부' 카테고리의 다른 글
Algorithm | Q.7568 - 덩치 (0) | 2020.06.16 |
---|---|
Algorithm | Brute Force & Backtracking (0) | 2020.06.16 |
Baekjoon | Q.11047 - 동전 0 (0) | 2020.06.16 |
Baekjoon | Q. 1912 - 연속합 (0) | 2020.06.16 |
Algorithm | Binary Search (0) | 2020.06.12 |
Comments