본문 바로가기
PS/Baekjoon

[Baekjoon] 10101 - 삼각형 외우기

by 서현 SEOHYEON 2023. 8. 27.

📝 문제

 

 

🔑 풀이 과정

· 세 각의 합이 180이 아닐때 → Error 출력

세 각의 합이 180일때

1) 세 각의 크기가 같으면(모두 60이면) Equilateral 출력

2) 두 각의 크기가 같으면 Isosceles출력
3) 세 각의 크기가 모두 다르면 Scalene 출력

 

· 배열을 정렬 후, 1번각과 2번각이 같은지와 2번각과 3번각이 같은지를 체크한다.

만약 정렬을 안한다면 70 40 70 이런식으로 입력이 들어오면 오답이 발생한다.

 

 

🔓 답안

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

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        //세 각 입력받기. 합 구하기
        int[] arr = new int[3];
        int sum = 0;
        for(int i = 0; i < 3; i++){
            int angle = Integer.parseInt(br.readLine());

            arr[i] = angle;
            sum += angle;
        }

        //정렬
        Arrays.sort(arr);

        //검사
        int sameCount = 0;
        for(int i = 1; i < arr.length; i++){
            if(arr[i] == arr[i-1])
                sameCount++;
        }

        if(sum != 180){
            bw.write("Error");
        }
        else{
            if(sameCount == 2)
                bw.write("Equilateral");
            else if(sameCount == 1)
                bw.write("Isosceles");
            else
                bw.write("Scalene");
        }

        bw.flush();
        bw.close();
    }

}

 

 

 

🖤 알고리즘 분류

- 구현

- 기하학

댓글