백준 10101 자바
삼각형 외우기
문제
창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.
삼각형의 세 각을 입력받은 다음,
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
를 출력하는 프로그램을 작성하시오.
입력
총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.
출력
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
예제 입력 1
60
70
50
예제 출력 1
Scalene
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 | 256 MB | 14495 | 7935 | 7133 | 55.030% |
코드
import java.util.Scanner;
public class B10101 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
// 삼각형 입력받기
int sum = 0; // 세 각의 합
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
sum += arr[i];
}
// 배열 내 같은 각이 있는 경우 카운트 해주기
int cnt = 0;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
cnt++;
// System.out.println(cnt);
}
}
}
// 결과 출력
String result = "";
for (int i = 0; i < arr.length - 1; i++) {
if (sum != 180) {
result = "Error";
} else {
if (arr[i] == 60&& cnt == 3) {
result = "Equilateral";
} else if (sum == 180 && cnt == 1) {
result = "Isosceles";
} else if (sum == 180 && cnt == 0) {
result = "Scalene";
}
}
}
System.out.println(result);
sc.close();
}
}
'알고리즘 공부 > 백준 문제풀이' 카테고리의 다른 글
[백준]9316 : Hello Judge(JAVA) (0) | 2022.10.05 |
---|---|
[백준]10039 : 평균점수 (JAVA) (0) | 2022.10.05 |
[백준]10797 : 10부제 (JAVA) (0) | 2022.10.05 |
[백준] 10156 : 과자 (JAVA) (0) | 2022.10.05 |
[백준] 11365 : !밀비 급일(JAVA) (0) | 2022.10.05 |