문제
상근이는 매일 아침 영자 신문을 학교에 가져와서 읽는다. 하지만, 상근이의 눈은 점점 나빠졌고, 더 이상 아침 신문을 읽을 수 없는 상황에 이르렀다. 상근이는 스캐너를 이용해서 글자를 확대한 다음에 보려고 한다.
신문 기사는 글자로 이루어진 R*C 행렬로 나타낼 수 있다. 글자는 알파벳과 숫자, 그리고 마침표로 이루어져 있다.
스캐너는 ZR과 ZC를 입력으로 받는다. 이렇게 되면, 스캐너는 1*1크기였던 각 문자를 ZR*ZC크기로 확대해서 출력해 준다.
신문 기사와 ZR, ZC가 주어졌을 때, 스캐너의 스캔을 거친 결과를 구하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3035
입력
첫째 줄에 R, C, ZR, ZC가 주어진다. R과 C는 1과 50 사이의 정수이고, ZR과 ZC는 1과 5 사이의 정수이다.
다음 R개 줄에는 신문 기사가 주어진다.
출력
스캐너에 스캔된 결과를 총 R*ZR개 줄에 걸쳐서 C*ZC개 문자씩 출력한다.
예제
# input
3 3 1 2
.x.
x.x
.x.
# output
..xx..
xx..xx
..xx..
# input
3 3 2 1
.x.
x.x
.x.
# output
.x.
.x.
x.x
x.x
.x.
.x.
문제 풀이
import sys
input = sys.stdin.readline
R, C, ZR, ZC = map(int, input().split())
answer = []
for _ in range(R):
tmp = input().strip()
scan = ''
# 각 문자를 ZC만큼 반복하여 가로 방향 확대
for i in tmp:
scan += i * ZC
# 세로 방향 확대 (ZR번 반복하여 리스트에 추가)
for j in range(ZR):
answer.append(scan)
for ans in answer:
print(ans)
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
문제
상근이는 매일 아침 영자 신문을 학교에 가져와서 읽는다. 하지만, 상근이의 눈은 점점 나빠졌고, 더 이상 아침 신문을 읽을 수 없는 상황에 이르렀다. 상근이는 스캐너를 이용해서 글자를 확대한 다음에 보려고 한다.
신문 기사는 글자로 이루어진 R*C 행렬로 나타낼 수 있다. 글자는 알파벳과 숫자, 그리고 마침표로 이루어져 있다.
스캐너는 ZR과 ZC를 입력으로 받는다. 이렇게 되면, 스캐너는 1*1크기였던 각 문자를 ZR*ZC크기로 확대해서 출력해 준다.
신문 기사와 ZR, ZC가 주어졌을 때, 스캐너의 스캔을 거친 결과를 구하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3035
입력
첫째 줄에 R, C, ZR, ZC가 주어진다. R과 C는 1과 50 사이의 정수이고, ZR과 ZC는 1과 5 사이의 정수이다.
다음 R개 줄에는 신문 기사가 주어진다.
출력
스캐너에 스캔된 결과를 총 R*ZR개 줄에 걸쳐서 C*ZC개 문자씩 출력한다.
예제
# input 3 3 1 2 .x. x.x .x. # output ..xx.. xx..xx ..xx.. # input 3 3 2 1 .x. x.x .x. # output .x. .x. x.x x.x .x. .x.
문제 풀이
import sys input = sys.stdin.readline R, C, ZR, ZC = map(int, input().split()) answer = [] for _ in range(R): tmp = input().strip() scan = '' # 각 문자를 ZC만큼 반복하여 가로 방향 확대 for i in tmp: scan += i * ZC # 세로 방향 확대 (ZR번 반복하여 리스트에 추가) for j in range(ZR): answer.append(scan) for ans in answer: print(ans)
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.