코딩테스트

[백준 / 브론즈2] 16561 : 3의 배수 (JAVA)

lyndaa 2023. 2. 26. 15:54

문제


풀이방법

    • 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);
	}

}