문제
풀이방법
- for문과 if문을 통해 3으로 분해되는 개수를 카운트한다.
- for문 3개를 사용할 경우 1000 * 1000 * 1000의 연산으로 시간초과이다. 따라서 2개의 for문을 사용해야 한다.
- for문 2개로 2개의 숫자를 정하면 나머지 숫자는 자동으로 정해지고 이 숫자가 0이 아닐 경우 카운트하면 된다.
코드
package com.test01;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int count = 0, sum = 0;
for (int i = 1; i < n / 3; i++) {
for (int j = 1; j < n / 3; j++) {
sum = 3 * i + 3 * j;
if (n - sum > 0) {
count++;
}
}
}
System.out.println(count);
}
}
'코딩테스트' 카테고리의 다른 글
[백준 / 실버 5] 1652 : 누울 자리를 찾아라 (JAVA) (0) | 2023.03.11 |
---|---|
[백준 / 브론즈2] 1100 : 하얀 칸 (JAVA) (0) | 2023.03.09 |
[백준 / 실버4] 1120 : 문자열 (JAVA) (0) | 2023.02.23 |
[백준 / 브론즈2] 1075 : 나누기 (JAVA) (0) | 2023.02.22 |
[백준 / 브론즈1] 1037 : 약수 (JAVA) (0) | 2023.02.15 |