문자 인식 출처다국어
한국어
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 | 128 MB | 480 | 114 | 86 | 22.572% |
문제
동혁이는 새로운 이미지 문자 인식 프로그램을 만들었다. 이 프로그램은 종이에 쓰여 있는 글자를 스캔한 뒤, 텍스트 파일로 저장한다. 동혁이는 밤을 새며 열심히 프로그램을 만들었지만, 프로그램의 신뢰도는 100%가 아니며, 어떤 글자는 인식하지 못했다. 결국 동혁이는 100%가 아니라는 점에서 실망하였고, 대전으로 도망가게 되었다.
대전으로 도망가버린 동혁이를 대신해서, 동혁이가 만든 이미지 문자 인식 프로그램의 인식률을 계산하는 프로그램을 작성하시오.
인식률은 인식한 문자의 수를 R, 전체 문자의 수를 A라고 했을 때, R/A이다. 줄바꿈 문자는 문자로 세지 않는다.
입력
입력은 N개의 테스트 케이스로 구성되어 있다. 첫째 줄에 테스트 케이스의 개수 N이 주어진다. 각 테스트 케이스는 적어도 한 줄이고, 인식하지 못한 문자는 '#'로 표시한다. 각 테스트 케이스의 다음에는 빈 줄이 한 칸씩 있다. 각 줄은 100글자를 넘지 않고, 줄의 수도 200줄을 넘지 않는다.
출력
각 테스트 케이스에 대해서 인식률을 계산한 뒤 다음과 같이 출력한다. 각 줄은 "Efficiency ratio is X%."와 같은 형태로 출력해야 한다. X는 인식률을 퍼센트로 표시한 것이고, 소수점 두자리 이상인 경우에는 둘째 자리에서 반올림해서 출력한다. 단, 반올림 결과가 정수이면 정수 부분만 출력한다.
예제 입력 1 복사
3 Pr#nt ex##tly one##ine for#eac# te#t c#se. None. The i#put consists of N test ca#es. The number of th#m (N) is given on the first #ine of the#input#file.
예제 출력 1 복사
Efficiency ratio is 78.6%. Efficiency ratio is 100%. Efficiency ratio is 94%.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
import kotlin.math.*
fun main(){
val number = readLine()!!.toInt()
var arr = MutableList(number,{0})
var arr2 = MutableList(number,{0})
var count = 0
for(i in 0 until number){
count=0
while(true){
val line = readLine().toString()
arr[i]+=line.length
for (w in line){
if(w=='#'){
count++
}
}
//println(line)
if(line.isNullOrBlank()){
arr2[i]=arr[i]-count
break
}
}
}
//println(arr)
//println(arr2)
for(i in 0 until number){
/*
a/b*100 이라고 생각했는데
막상해보니까 잘안되서 round((a/b*100)*10)/10을 하였다.
*10 /10은 소수점 둘째자리에서 반올림하기 때문이다.
셋째 자리에서 반올림은 10을 100으로 바꾸어 주면된다.
*/
val gogo = (arr2[i].toDouble()/arr[i].toDouble())*100
val result = (round(gogo *10)/10)
if(result - result.toInt()>0)
println("Efficiency ratio is $result%.")
else
println("Efficiency ratio is ${result.toInt()}%.")
}
}
|
cs |
'알고리즘 공부 > 미분류' 카테고리의 다른 글
백준 2750번 with Kotlin #정렬 메소드 (0) | 2021.07.05 |
---|---|
백준 1546번 with Kotlin #배열의 #max #sum (0) | 2021.07.05 |
백준 1157번 with Kotlin # 5번 다시보기 #알파벳 대소문자 변환. (0) | 2021.07.05 |
백준 2920번 with Kotlin #when (0) | 2021.07.04 |
백준 8958 with Kotlin #forEach #배열선언 (0) | 2021.07.04 |