[백준] 10101번 삼각형 외우기 Java 문제 풀이

2023. 3. 21. 18:09알고리즘/백준

728x90
반응형

문제풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

interface Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;

        int sum = 0;
        Map<Integer, Boolean> angle = new HashMap<Integer, Boolean>();
        for(int i=0; i<3; i++) {
            int val = Integer.parseInt(br.readLine());
            angle.put(val, true);
            sum += val;
        }

        if(sum == 180) {
            if(angle.size() == 1) {
                System.out.println("Equilateral");
            } else if(angle.size() == 2) {
                System.out.println("Isosceles");
            } else {
                System.out.println("Scalene");
            }
        } else {
            System.out.println("Error");
        }
    }
}

삼각형 내각의 합은 180도여야 하므로 아닐 경우 Error을 출력합니다.

 

입력받은 각을 Key로 하는 HashMap을 만들어서 넣어줬습니다.

HashMap의 Key값은 중복이 되지 않으므로 중복일 경우 Map의 크기가 3이 되지 않습니다.

 

맵의 크기를 비교하여 출력을 다르게 하면 됩니다.

 

 

 

출처 : https://www.acmicpc.net/problem/10101

 

10101번: 삼각형 외우기

문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.

www.acmicpc.net

 

728x90
반응형