알고리즘
앞서 접한 [BOJ] 2798번 - 블랙잭 문제의 유형과 비슷하게 브루트 포스 알고리즘을 적용하는 문제이다. 분해합 N의 생성자 M의 최솟값을 구하기 위해서 1부터 입력값 input 바로 전까지의 모든 숫자들에 대해서 생성자가 만들어지는지 확인해보기로 하였다. i값을 받아와서 sum을 초기화해주고 문자열 배열로 바꿔서 각각의 자리수를 sum에 더해주었다. 마지막으로 sum과 Integer의 최대값으로 초기화해준 min의 비교를 통해서 생성자 M의 최솟값을 찾아주었다.
소스코드
문제링크
2231번: 분해합
어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이
www.acmicpc.net
'Coding Test > Solved' 카테고리의 다른 글
[BOJ] 백준 11724번 - 연결 요소의 개수(with Java) (0) | 2021.07.19 |
---|---|
[BOJ] 백준 2468번 - 안전 영역(with Java) (0) | 2021.07.18 |
[BOJ] 백준 2798번 - 블랙잭(with Java) (0) | 2021.07.13 |
[BOJ] 백준 1059번 - 좋은 구간(with Java) (0) | 2021.07.13 |
[BOJ] 백준 7562번 - 나이트의 이동(with Java) (0) | 2021.07.11 |
댓글