[문제]
https://www.acmicpc.net/problem/1475
[코드]
import java.io.*
import java.util.*
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = StringTokenizer(br.readLine()).nextToken()
val arr = Array(10){ 0 }
for(i in n) {
val idx = Character.getNumericValue(i)
if(idx == 9)
arr[6] += 1
else
arr[idx] += 1
}
arr[6] = if(arr[6]%2 > 0) arr[6]/2 + 1 else arr[6]/2
var max = 0
for(i in arr){
max = if(max < i) i else max
}
bw.write(max.toString())
bw.flush()
bw.close()
}
[풀이]
배열을 만들고 입력받은 수의 자릿수에 해당하는 인덱스 값을 1씩 증가시키는데
이 때 9와 6은 뒤집으면 같게 보기 때문에 자릿수 9는 인덱스 6 값을 증가시킨다.
인덱스 6의 값이 짝수이면 나누기 2하고 홀수이면 나누기 2한 값에 1을 더하여서 저장한 값과
나머지 인덱스에서 최댓값을 구해서 필요한 세트의 갯수를 구한다.
Github : https://github.com/eshc123/2021AlgorithmStudy/blob/main/src/main/PS/baekjoon/1475.kt
'Algorithm and PS > 백준(Kotlin)' 카테고리의 다른 글
백준 - 1406 에디터 (코틀린) (0) | 2021.05.23 |
---|---|
백준 - 1919 애너그램 만들기 (코틀린) (0) | 2021.05.22 |
백준 - 13300 방 배정 (코틀린) (0) | 2021.05.15 |
백준 - 11328 Strfry (코틀린) (0) | 2021.05.15 |
백준 - 2577 숫자의 개수 (코틀린) (0) | 2021.05.11 |
댓글