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 |