31867번: 홀짝홀짝백준/문제2024. 7. 15. 13:01
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/31867
언어 : Kotlin
문제 설명 :
민구는 자릿수가 N인 양의 정수 K로 홀짝 놀이를 하려고 한다.
홀짝 놀이의 과정은 다음과 같다.
- 각 자릿수에 대해서 해당 숫자가 짝수인지 홀수인지를 확인한다. 숫자 0은 짝수이다.
- 모든 자릿수에 대해서 홀짝 판별이 완료되면 전체 짝수의 개수와 홀수의 개수를 비교한다.
- 짝수의 개수가 홀수의 개수보다 더 많으면 주어진 수는 짝짝수이다. 홀수의 개수가 짝수의 개수보다 더 많으면 홀홀수이다.
- 숫자가 너무 길어서 개수를 세는 것에 어려움을 겪는 민구를 위해 홀짝 놀이를 도와주는 프로그램을 작성하자!
입력 :
첫 번째 줄에 자릿수 N이 주어진다. (1 ≤ N ≤ 10^6)
두 번째 줄에 자연수 K가 주어진다. (1 ≤ K)
양의 정수 K가 0으로 시작하는 경우는 주어지지 않는다.
출력 :
첫 번째 줄에 주어진 자연수가 짝짝수면 0, 홀홀수면 1, 둘 다 아니라면 -1을 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
9 123456789 |
1 |
7 1234568 |
0 |
8 12345678 |
-1 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = readLine().toInt()
val k = readLine().chunked(1).map { if (it.toInt() % 2 == 0) 0 else 1 }
bw.write(if (k.count { it == 0 } > k.count { it == 1 }) "0" else if (k.count { it == 0 } == k.count { it == 1 }) "-1" else "1")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
23738번: Ресторан (1) | 2024.07.15 |
---|---|
29614번: 학점계산프로그램 (0) | 2024.07.15 |
26742번: Skarpetki (0) | 2024.07.12 |
3578번: Holes (0) | 2024.07.12 |
4583번: 거울상 (0) | 2024.07.12 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!