baekjoon: 5073(삼각형과 세 변)

강지안·2023년 5월 30일
0

baekjoon

목록 보기
41/186

문제

코드

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class q5073 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> results = new ArrayList<>();

        while(true) {
            ArrayList<Integer> points = new ArrayList<>();
            String inputsStr = sc.nextLine(); // 세 숫자 입력

            // 0 0 0 입력 시 종료
            if(inputsStr.equals("0 0 0")) break;

            if(!inputsStr.equals("")) { // 공백 아닐 때만 처리
                String[] inputs = inputsStr.split(" ");

                for(int i=0; i<3; i++)
                    points.add(Integer.parseInt(inputs[i]));

                // points 리스트 정렬
                Collections.sort(points);

                if(points.get(0) + points.get(1) <= points.get(2)) results.add("Invalid");
                else if(points.get(0).equals(points.get(1)) && points.get(0).equals(points.get(2))) results.add("Equilateral");
                else if(!points.get(0).equals(points.get(1)) && !points.get(1).equals(points.get(2)) && !points.get(0).equals(points.get(2))) results.add("Scalene");
                else results.add("Isosceles");
            }
        }
        // 전체 결과 출력
        for (String result: results)
            System.out.println(result);
    }
}

학습

Integer는 ==로 일치 여부를 확인할 수 없다.
== 대신 equals()를 사용해야 한다.
반례 제공(pth22s30505님) : https://www.acmicpc.net/board/view/117426

0개의 댓글