문제 출처 : https://www.acmicpc.net/problem/31009
언어 : Kotlin
문제 설명 :
이 문제는 "진주로 가자! (Hard)" 문제와 입력으로 주어지는 수의 범위를 제외하면 같은 문제이다.
서울살이에 지쳐버린 경상국립대 졸업생 보선이는 대학생이었던 시절이 그리워졌고, 오랜만에 경상국립대가 있는 진주에 가고 싶어졌다. 그래서 보선이는 진주로 당일치기 나들이를 가기 위해 무작정 서울 터미널에 도착했다.
서울 터미널에는 N개의 교통편이 있다. 각 교통편의 정보는 도착지와 요금으로 이루어져 있으며, 모든 도착지는 서로 다르다. 그리고 주어지는 도착지에는 진주로 가는 교통편을 의미하는 jinju가 반드시 존재한다.
요즘 물가 인상이 걱정되는 보선이는 진주로 가는 교통편의 요금을 알아보면서 그보다 비싼 교통편의 개수 또한 같이 알아보려고 한다. 하지만 보선이는 이미 지쳐버린 상태라 N개의 교통편을 살펴볼 힘이 없었다. 그래서 보선이는 자신이 알아보고자 한 정보를 우리에게 대신 알아봐달라고 부탁했다.
자, 이제 보선이의 부탁을 들어주자.
입력 :
첫 번째 줄에는 서울 터미널의 교통편의 개수 N이 주어진다. (1 ≤ N ≤ 1,000)
두 번째 줄부터 N개의 줄에 걸쳐 i번째 교통편의 정보 D_i, C_i가 공백으로 구분되어 주어진다. D_i는 i번째 교통편의 도착지를 나타내며, 알파벳 소문자로만 이루어진 길이 1 이상 15 이하인 문자열이다. 또한, D_j = jinju인 j는 유일하며 이는 j번째 교통편이 진주로 가는 교통편임을 의미한다. 그리고 C_i는 i번째 교통편의 요금을 나타낸다. (1 ≤ C_i ≤ 1,000)
입력으로 주어지는 모든 수는 정수이다.
출력 :
첫 번째 줄에는 진주로 가는 교통편의 요금을 출력한다.
두 번째 줄에는 진주로 가는 교통편보다 비싼 교통편의 개수를 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 512MB
입출력 예 :
입력 | 출력 |
5 changwon 100 incheon 70 jinju 90 haenam 530 gangneung 660 |
90 3 |
풀이 :
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 map: MutableMap<String, Int> = mutableMapOf()
repeat(readLine().toInt()) {
val (destination, price) = readLine().split(" ")
map[destination] = price.toInt()
}
bw.appendLine("${map["jinju"]}").append("${map.count { it.value > map["jinju"]!! }}")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
31822번: 재수강 (0) | 2024.07.03 |
---|---|
23304번: 아카라카 (0) | 2024.07.03 |
30794번: 가희와 클럽 오디션 1 (0) | 2024.07.02 |
15482번: 한글 LCS (0) | 2024.07.02 |
28135번: Since 1973 (0) | 2024.07.01 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!