📝 문제
🔑 풀이 과정
· 세 각의 합이 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();
}
}
🖤 알고리즘 분류
- 구현
- 기하학
'PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 2805 - 나무 자르기 (0) | 2023.08.29 |
---|---|
[Baekjoon] 25314 - 코딩은 체육과목 입니다 (0) | 2023.08.28 |
[Baekjoon] 15894 - 수학은 체육과목 입니다 (0) | 2023.08.26 |
[Baekjoon] 1789 - 수들의 합 (0) | 2023.08.25 |
[Baekjoon] 1074 - Z (0) | 2023.08.25 |
댓글