31907번: GIST백준/문제2024. 9. 2. 17:29
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/31907
언어 : Kotlin
문제 설명 :
GIST 학생 홍보대사 지온나래는 GIST를 홍보하기 위해 큰 현수막을 준비하고 있다. 현수막에는 다음과 같은 그림이 들어갈 것이다.
G...
.I.T
..S.
정수 K가 주어지면, 주어진 그림을 $K배 확대한 그림을 예제 출력과 같이 출력하시오.
주어진 그림을 K배 확대한다는 것은 그림을 하나의 행렬로 보고 이를 확대한다는 것이다. 자세한 정의는 다음과 같다. 가로 길이가 M이고 세로 길이가 N인 그림은 N*M 행렬 $$X = \left(x_{ij}\right)$$로 나타낼 수 있으며, 이 행렬 X를 K배 확대한 행렬 Y는 KN*KM 행렬로, 다음과 같이 정의된다.
$$Y = \left(y_{ij}\right), y_{ij} = x_{\left\lfloor\frac{i + K - 1}{K}\right\rfloor\left\lfloor\frac{j + K - 1}{K}\right\rfloor} $$
입력 :
첫째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100)
출력 :
주어진 그림을 K배 확대한 그림을 예제 출력과 같이 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
1 | G... .I.T ..S. |
5 | GGGGG............... GGGGG............... GGGGG............... GGGGG............... GGGGG............... .....IIIII.....TTTTT .....IIIII.....TTTTT .....IIIII.....TTTTT .....IIIII.....TTTTT .....IIIII.....TTTTT ..........SSSSS..... ..........SSSSS..... ..........SSSSS..... ..........SSSSS..... ..........SSSSS..... |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val k = readLine().toInt()
val gist = arrayOf("G...", ".I.T", "..S.")
gist.forEachIndexed { i, s ->
repeat(k) {
bw.appendLine(gist[i].map { "$it".repeat(k) }.joinToString(""))
}
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
1394번: 암호 (0) | 2024.09.03 |
---|---|
31833번: 온데간데없을뿐더러 (0) | 2024.09.03 |
31844번: 창고지기 (2) | 2024.09.02 |
18269번: Where Am I? (0) | 2024.08.30 |
15464번: The Bovine Shuffle (0) | 2024.08.30 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!