728x90
https://www.acmicpc.net/problem/1548
1548번: 부분 삼각 수열
세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각
www.acmicpc.net
728x90
메모리: 14,324 KB , 시간: 124 ms
사용 알고리즘: 정렬, 부르트포스 알고리즘, 그리디 알고리즘
참고
https://kau-algorithm.tistory.com/970
[백준/Python] 1548번 부분 삼각 수열
문제링크 https://www.acmicpc.net/problem/1548 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])
kau-algorithm.tistory.com
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // N := 수열의 크기 int N = Integer.parseInt(br.readLine()); // A := 수열 int[] A = new int[N]; StringTokenizer st = new StringTokenizer(br.readLine()); for (int i = 0; i < N; i++) { A[i] = Integer.parseInt(st.nextToken()); } int result = 2; if(N < 3) result = N; else { // 수열 정렬 Arrays.sort(A); // x < z, y < z일 때 x + y > z라면 x + z > y, y + z > x도 만족 for (int i = 0; i < N - 1; i++) { int x = A[i]; int y = A[i + 1]; for (int j = i + 2; j < N; j++) { int z = A[j]; if(x + y <= z) break; result = Math.max(result, j - i + 1); } } } System.out.println(result); } }
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[백준, BOJ 20210] 파일 탐색기 (java) (0) | 2023.11.28 |
---|---|
[백준, BOJ 1477] 휴게소 세우기 (java) (1) | 2023.11.27 |
[백준, BOJ 2281] 데스노트 (java) (0) | 2023.11.21 |
[백준, BOJ 19942] 다이어트 (java) (1) | 2023.11.21 |
[백준, BOJ 1720] 타일 코드 (java) (1) | 2023.11.14 |