반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 5073번 삼각형과 세 변 자바(JAVA)
1) 문제번호 : 5073번
2) 문제 출처
https://www.acmicpc.net/problem/5073
2. 문제
삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.
- Equilateral : 세 변의 길이가 모두 같은 경우
- Isosceles : 두 변의 길이만 같은 경우
- Scalene : 세 변의 길이가 모두 다른 경우
단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.
세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.
3. 제약사항
4. 입력
각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.
5. 출력
각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.
6. 풀이
- 조금 비효율적인 코드로 짰다. 그저 if문만 쓰면 되는 간단한 문제다.
7. 소스 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while(true) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
//A, B, C가 모두 0이면 종료
if(A == 0 && B == 0 && C == 0) break;
//삼각형 조건을 만족하지 못하는 경우
int MAX = Math.max(Math.max(A, B), C);
if(MAX == A) {
int sum = B + C;
if(A >= sum) {
System.out.println("Invalid");
continue;
}
}
if(MAX == B) {
int sum = A + C;
if(B >= sum) {
System.out.println("Invalid");
continue;
}
}
if(MAX == C) {
int sum = A + B;
if(C >= sum) {
System.out.println("Invalid");
continue;
}
}
//세 수가 모두 다를 경우
if(A != B && A != C && B != C) {
System.out.println("Scalene");
continue;
}
//A, B, C가 모두 같으면
if(A == B && A == C && B == C) {
System.out.println("Equilateral");
continue;
}
//2개의 수만 같을 경우
if(A == B || A == C || B == C) {
System.out.println("Isosceles");
continue;
}
}
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 3711번 학번 자바(JAVA) (0) | 2022.03.30 |
---|---|
[백준 알고리즘] 백준 2204번 도비의 난독증 테스트 자바(JAVA) (0) | 2022.03.29 |
[백준 알고리즘] 백준 21603번 K 2K 게임 자바(JAVA) (0) | 2022.03.27 |
[백준 알고리즘] 백준 24724번 현대모비스와 함께하는 부품 관리 자바(JAVA) (0) | 2022.03.27 |
[백준 알고리즘] 백준 6131번 완전 제곱수 자바(JAVA) (0) | 2022.03.24 |
[백준 알고리즘] 백준 16431번 베시와 데이지 자바(JAVA) (0) | 2022.03.23 |
[백준 알고리즘] 백준 14924번 폰 노이만과 파리 자바(JAVA) (0) | 2022.03.22 |
[백준 알고리즘] 백준 14470번 전자레인지 자바(JAVA) (0) | 2022.03.22 |
최근댓글