반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 16561번 3의 배수 자바(Java)
1) 문제번호 : 16561번
2) 문제 출처
2. 문제
윤영이는 3의 배수 마니아이다. 그는 모든 자연수를 3개의 3의 배수의 자연수로 분해하는 것을 취미로 가지고 있다. 문득 그는 자신에게 주어진 수를 3개의 3의 배수로 분리하는 경우의 수가 몇 개인지 궁금해졌다. 하지만 윤영이는 마지막 학기이기 때문에 이런 계산을 하기에는 너무 게을러졌다. 그래서 당신에게 이 계산을 부탁했다.
즉, 임의의 3의 배수 자연수 n이 주어졌을 때, 해당 수를 3의 배수의 자연수 3개로 분리하는 방법의 개수를 출력해라. 단 분해한 수의 순서가 다르면 다른 방법으로 간주한다. 예를 들어 12 = 3 + 6 + 3 과 12 = 3 + 3 + 6 은 다른 방법이다.
3. 제약사항
-
4. 입력
임의의 3의 배수 자연수 n이 주어진다. (3 ≤ n ≤ 3000)
5. 출력
자연수 n을 분해하는 방법의 개수를 출력하라.
6. 풀이
- 3일 때는 0, 6일 때도 0, 9일 때는 1, 12일 때 3, 15일 때 6, 18일 때 10... 쭉 가면 1씩 증가한 등차수열 규칙을 찾을 수 있다.
7. 소스 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();// 임의의 3의 배수
int sum = 1;
int count = 2;
for(int i=9;i<N;i+=3) {
sum += count;
count += 1;
}
System.out.println(sum);
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 10162번 전자레인지 자바(Java) (0) | 2021.04.01 |
---|---|
[백준 알고리즘] 백준 13277번 큰 수 곱셈 자바(Java) (0) | 2021.03.31 |
[백준 알고리즘] 백준 10699번 오늘 날짜 자바(Java) (0) | 2021.03.31 |
[백준 알고리즘] 백준 14503번 로봇 청소기 자바(Java) (0) | 2021.03.31 |
[백준 알고리즘] 백준 20053번 최소, 최대 2 자바(Java) (0) | 2021.03.30 |
[백준 알고리즘] 백준 1021번 회전하는 큐 자바(Java) (0) | 2021.03.29 |
[백준 알고리즘] 백준 1309번 동물원 자바(Java) (0) | 2021.03.29 |
[백준 알고리즘] 백준 1094번 막대기 자바(Java) (0) | 2021.03.27 |
최근댓글