10101번: 삼각형 외우기백준/단계별로 풀어보기2023. 5. 31. 16:23
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/10101
언어 : Kotlin
문제 설명 :
창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.
삼각형의 세 각을 입력받은 다음,
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
를 출력하는 프로그램을 작성하시오.
- 총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.
- 문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 256MB
입출력 예 :
입력 | 출력 |
60 70 50 |
Scalene |
풀이 :
import java.io.*
fun main(args: Array<String>) {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
var arr = emptyArray<Int>()
repeat(3) {
val input = br.readLine().toInt()
arr += input
}
when {
arr.filter { it == 60 }.size == 3 -> bw.write("Equilateral")
arr.sum() == 180 -> {
if (arr.groupBy { it }.size == 2) bw.write("Isosceles")
if (arr.groupBy { it }.size == 3) bw.write("Scalene")
}
else -> bw.write("Error")
}
bw.flush()
bw.close()
}
'백준 > 단계별로 풀어보기' 카테고리의 다른 글
14215번: 세 막대 (0) | 2023.05.31 |
---|---|
5073번: 삼각형과 세 변 (0) | 2023.05.31 |
9063번: 대지 (0) | 2023.05.31 |
15894번: 수학은 체육과목 입니다 (0) | 2023.05.31 |
3009번: 네 번째 점 (0) | 2023.05.31 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!