28454번: Gift Expire Date백준/문제2024. 7. 3. 16:52
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/28454
언어 : Kotlin
문제 설명 :
임스는 여러 사람에게 기프티콘을 받았다. 현재 사용할 수 있는 기프티콘이 몇 개인지 궁금했던 임스는 지금까지 받은 기프티콘을 확인하고자 한다. 임스가 현재 사용할 수 있는 기프티콘의 총개수를 구해 임스를 도와주자. 현재 날짜 이후의 유효기간을 가진 기프티콘만 사용 가능하다.
임스가 받은 N개의 기프티콘의 유효기간이 주어질 때, 임스가 현재 사용할 수 있는 기프티콘의 개수를 구하여라. 주어지는 날짜 형식은 YYYY-MM-DD이고 이 문제에서 윤년은 고려하지 않는다. 즉, 연도와 관계없이 항상 2월은 28일까지만 주어진다.
입력 :
첫 번째 줄에는 현재 날짜가 주어진다.
두 번째 줄에는 임스가 받은 기프티콘의 개수 N(1 <= N <= 100)이 주어진다.
세 번째 줄부터 N개의 줄에 임스가 받은 기프티콘의 유효기간이 주어진다.
연도는 1800년부터 2023년까지만 주어진다.
출력 :
임스가 현재 사용할 수 있는 기프티콘의 개수를 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
2022-12-12 2 2022-12-12 2023-12-12 |
2 |
2022-11-12 2 2022-12-12 2023-12-12 |
2 |
2022-12-12 5 2020-11-11 2022-07-11 2022-12-30 2023-01-01 2023-01-01 |
3 |
풀이 :
https://small-stepping.tistory.com/1012
위 문제에서 사용했던 풀이와 동일하게 해결했다.
연, 월, 일을 단순히 숫자로 받아들여 해당 숫자들이 겹치지 않게 이어준 후 크기를 비교한다.
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 nowDate: Int
readLine().split("-").map { it.toInt() }.apply {
nowDate = this[0] * 10000 + this[1] * 100 + this[2]
}
val list = Array(readLine().toInt()) {
val temp = readLine().split("-").map { it.toInt() }
temp[0] * 10000 + temp[1] * 100 + temp[2]
}
bw.write("${list.count { it >= nowDate }}")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
13022번: 늑대와 올바른 단어 (0) | 2024.07.04 |
---|---|
20114번: 미아 노트 (1) | 2024.07.04 |
31822번: 재수강 (0) | 2024.07.03 |
23304번: 아카라카 (0) | 2024.07.03 |
31009번: 진주로 가자! (Easy) (0) | 2024.07.02 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!