백준[자바]

[백준/Java] - 5037 삼각형과 세 변

코린이 파닥거리기 2025. 3. 7. 23:42
728x90
반응형
SMALL

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

 

풀이방법

 

세 변을 알기위해서 정수형 배열 3으로 정의해놓았다.

1. 첫번째 조건문 두 변의 길이가 가장 긴 변의 길이보다 작은지 검사한다. false반환 시 Invalid 출력

2. 첫번째 조건문을 통과하고, 세 변의 길이가 같으면 Equilateral 출력

3. 첫번째 조건문 통과하고, 두번째 조건문 false시 두 변의 길이가 같으면 Isosceles 출력

4. 첫번째 조건문 통과하고, 두번째 세번째 조건문 false 시 모두 변의 길이가 다르다는 뜻이므로 Scalene 출력

이렇게 로직을 짰다.

 

제출 코드

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int [] arr = new int[3];
        while(true){
            StringTokenizer st = new StringTokenizer(br.readLine());
            arr[0] = Integer.parseInt(st.nextToken());
            arr[1] = Integer.parseInt(st.nextToken());
            arr[2] = Integer.parseInt(st.nextToken());
            if(arr[0] ==0 && arr[1]==0 && arr[2]== 0) break;
            Arrays.sort(arr);
            if(arr[0] + arr[1] <= arr[2]) System.out.println("Invalid");
            else if(arr[0] == arr[1] && arr[1]== arr[2]){
                System.out.println("Equilateral");
            }
            else if(arr[0] == arr[1] || arr[0] == arr[2] || arr[1] == arr[2]){
                System.out.println("Isosceles");
            }
            else{
                System.out.println("Scalene");
            }
        }
    }
}

 

 

회고

자바는 파이썬 보다 많이 복잡함을 아직 많이 느낀다.

그리고 많은 문제를 안풀어보았다보니 수학적인 부분에서는 다른 풀이를 많이 참고하는 편이다. 다음 문제부터는 내 힘으로 푸는힘을 길러야겠다.

728x90
반응형
LIST