Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 6550
  • 백준 10709
  • 백준 15655
  • 백준 2467
  • 백준 2591
  • 백준 4659
  • 백준 14582
  • 백준 15961
  • 백준 1064
  • 백준 16194
  • 백준 1531
  • 백준 1495
  • 백준 7662
  • 백준 12605
  • 백준 24039
  • 백준 16926
  • 백준 3049
  • 백준 1914
  • 백준 15312
  • 백준 2343
  • 자바
  • 백준 1011
  • 백준
  • 백준 7567
  • 백준 2225
  • 백준 8892
  • 백준 1747
  • Java
  • 백준 12871
  • 백준 3135
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 10448 유레카 이론(Java)
백준

백준 10448 유레카 이론(Java)

2023. 1. 17. 00:54

https://www.acmicpc.net/problem/10448

 

10448번: 유레카 이론

프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어

www.acmicpc.net


 

해석 및 팁

 


 

 

주어지는수가 최대 1000 이므로 삼각수들의 배열을 만들어 풀면 편리합니다. n=45일때 44*45/2 = 990 입니다. 따라서 가장큰 삼각수는 n이 44일때이므로 반복문을통해 배열에 값을 넣습니다. 그리고나서 주어진수를 반복문을 통해 배열의 합으로 표현이 가능하면 1을 아니면 0을 출력합니다.

 


 

Java 코드

 


import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int[] arr = new int[45];
    int t = sc.nextInt();

    for(int i = 1; i < 45; i++) arr[i] = i*(i+1)/2;  //삼각수 배열 생성

    for(int x = 0; x < t; x++) {
      int n = sc.nextInt();
      int check = 0;
      for(int i = 1; i < 45; i++) {
        for(int j = 1; j < 45; j++) {
          for(int k = 1; k < 45; k++) {
            if(n == arr[i] + arr[j] + arr[k]) check = 1;   //삼각수의 합이면 1 출력
          }
        }
      }
      System.out.println(check);
    }
    
  }
}

'백준' 카테고리의 다른 글

백준 9506 약수들의 합(Java)  (0) 2023.01.17
백준 2846 오르막길(Java)  (0) 2023.01.17
백준 2669 직사각형 네개의 합집합의 면적 구하기(Java)  (0) 2023.01.16
백준 2851 슈퍼 마리오(Java)  (0) 2023.01.16
백준 11005 진법 변환 2(Java)  (0) 2023.01.16
    '백준' 카테고리의 다른 글
    • 백준 9506 약수들의 합(Java)
    • 백준 2846 오르막길(Java)
    • 백준 2669 직사각형 네개의 합집합의 면적 구하기(Java)
    • 백준 2851 슈퍼 마리오(Java)
    Park DJ
    Park DJ

    티스토리툴바