[Java] 백준 1448 번 (삼각형 만들기)

2024. 4. 8. 16:41·BOJ, Programmers

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

 

1448번: 삼각형 만들기

첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다

www.acmicpc.net

알고리즘 분류

  • 수학
  • 그리디
  • 정렬

 

풀이

그리디 알고리즘과 정렬을 이용해 문제를 풀었다.

먼저 삼각형의 성립 조건을 알아야 한다.

삼각형의 성립 조건: a, b, c(가장 긴 변)이 있을 때 a + b > c 이어야 삼각형이 성립이 된다.

 

그래서 입력받은 배열을 정렬 후

뒤에서부터 차례로 삼각형이 성립이 되는지 if 조건문을 사용해 구했다.

Arrays.sort(arr);
for (int i = arr.length -1 ; i >=2 ; i--) {
int c = arr[i];
int b = arr[i-1];
int a = arr[i-2];
if (a+b > c){
System.out.println(a+b+c);
return;
}
} // for

 

 

아래는 전체 정답 코드이다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int [] arr = new int [n];
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
for (int i = arr.length -1 ; i >=2 ; i--) {
int c = arr[i];
int b = arr[i-1];
int a = arr[i-2];
if (a+b > c){
System.out.println(a+b+c);
return;
}
} // for
System.out.println("-1");
} // main
}

'BOJ, Programmers' 카테고리의 다른 글

[Java] 백준 1312 번 (소수) 문제 풀이  (0) 2024.04.10
[Java] 백준 1543번 (문서 검색) 자바 문제 풀이  (0) 2024.04.08
[Java] 백준 2725번 (보이는 점의 개수)  (2) 2024.04.06
[Java] 백준 1449번 (수리공 항승)  (0) 2024.04.06
[Java] 백준 1577 (도로의 개수)  (2) 2024.04.05
'BOJ, Programmers' 카테고리의 다른 글
  • [Java] 백준 1312 번 (소수) 문제 풀이
  • [Java] 백준 1543번 (문서 검색) 자바 문제 풀이
  • [Java] 백준 2725번 (보이는 점의 개수)
  • [Java] 백준 1449번 (수리공 항승)
Economy98
Economy98
공부하고 기록하기
  • Economy98
    Economy_Dev
    Economy98
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • Spring Framework (11)
      • BOJ, Programmers (22)
      • Java (4)
      • JDBC (6)
      • JPA (9)
      • Spring Transaction (3)
      • Algorithm (1)
      • Web (5)
      • Projects (2)
        • 쇼핑몰 프로젝트 (0)
        • 열람실 & 도서관 프로젝트 (2)
      • Network (2)
      • 나의 공부방 (5)
      • 끄적끄적 (1)
      • Error Log (3)
      • CS (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • Github
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    java
    다이나믹 프로그래밍
    백준 풀이
    정렬
    트랜잭션
    예외 처리
    자바 문제
    jdbc
    자바 문제 풀이
    Spring
    브루트포스 알고리즘
    restful api
    JPA
    propagation
    백준 자바 풀이
    스프링부트
    백준
    자바
    스프링
    그리디 알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Economy98
[Java] 백준 1448 번 (삼각형 만들기)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.