27494번: 2023년은 검은 토끼의 해백준/문제2024. 7. 11. 13:54
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/27494
언어 : Kotlin
문제 설명 :
2023년은 검은 토끼의 해로 불린다. 스타는 검은 토끼의 해를 기념해서 흑묘 복권을 만들려고 한다.
흑묘 복권은 총 N개의 티켓으로 구성된다. 각 티켓에는 1 이상 N 이하의 정수인 시리얼 번호가 적혀 있으며 서로 다른 티켓에는 서로 다른 시리얼 번호가 적혀있다.
티켓 중에서 시리얼 번호가 네 자릿수 이상이고 서로 다른 자리에서 네 개의 자릿수를 골라 고른 자릿수를 제외한 나머지 자릿수를 지울 때 2023을 만들 수 있으면 해당 티켓은 당첨 티켓이다. 예를 들어 시리얼 번호가 2023, 1280423, 2200233이면 당첨이고 3480, 572, 2032이면 꽝이다.
N이 주어졌을 때, 흑묘 복권의 당첨 티켓 수를 구하여라
입력 :
흑묘 복권의 티켓 수 N이 주어진다. (1 ≤ N ≤ 10,000,000)
출력 :
당첨 티켓 수를 출력한다.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 512MB
입출력 예 :
입력 | 출력 |
2023 | 1 |
1237987 | 1994 |
35 | 0 |
풀이 :
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))
var cnt = 0
val pattern = arrayOf('2', '0', '2', '3')
val n = (1 .. readLine().toInt()).map { it.toString() }
for (i in n.indices) {
val cur = n[i]
if (cur.contains("2023")) {
cnt++
continue
}
var idx = 0
for (j in cur.indices) {
if (cur[j] == pattern[idx]) idx++
if (idx == 4) {
cnt++
break
}
}
}
bw.write("$cnt")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
5376번: 소수를 분수로 (0) | 2024.07.11 |
---|---|
8371번: Dyslexia (0) | 2024.07.11 |
30957번: 빅데이터 vs 정보보호 vs 인공지능 (0) | 2024.07.10 |
28249번: Chili Peppers (0) | 2024.07.10 |
20362번: 유니대전 퀴즈쇼 (0) | 2024.07.09 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!