30889번: 좌석 배치도백준/문제2024. 8. 9. 13:57
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/30889
언어 : Kotlin
문제 설명 :
희권이는 영화관에서 한 개의 상영관을 담당하고 있다. 상영관의 좌석은 10*20 형태이고, 좌석 번호는 다음과 같다.
스크린을 기준으로 맨 앞이 A열, 맨 뒤가 J열이다. 좌석은 가장 왼쪽이 1번, 오른쪽이 20번이다.
갑자기 영화관의 컴퓨터가 고장이 나서 좌석 배치를 알 수 없게 되었다. 다행히 희권이에겐 손님들이 어떤 좌석을 예매했는지 정보가 남아있었다.
어떤 손님의 예매 정보가 A10이라면 A열 10번 좌석을 예매했다는 뜻이다.
희권이를 도와 영화관의 좌석 배치도를 만들어 보자. 단, 좌석이 중복되는 경우는 없다.
입력 :
첫 번째 줄에 영화를 예매한 손님 수 N이 주어진다. (1 ≤ N ≤ 200)
두 번째 줄부터 N줄 동안 각각의 손님이 예매한 좌석의 정보가 주어진다.
출력 :
상영관의 좌석 배치도를 출력한다. 사람이 있는 좌석은 o, 없는 좌석은 .으로 표기한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
4 A5 D4 I1 F14 |
....o............... .................... .................... ...o................ .................... .............o...... .................... .................... o................... .................... |
풀이 :
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 = Array(10) { Array(20) { '.' } }
repeat(readLine().toInt()) {
val cur = readLine()
val r = cur.substring(1).toInt() - 1
val c = cur[0].code - 65
map[c][r] = 'o'
}
map.forEach {
it.forEach { c ->
bw.write("$c")
}
bw.newLine()
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
13234번: George Boole (0) | 2024.08.12 |
---|---|
2149번: 암호 해독 (0) | 2024.08.12 |
10927번: MD5 (0) | 2024.08.09 |
9872번: Record Kepping (0) | 2024.08.09 |
30403번: 무지개 만들기 (0) | 2024.08.08 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!