[문제 설명]
직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다.
이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때,
이 그림 파일을 가로 세로로 k배 늘린 그림 파일을 나타내도록
문자열 배열을 return 하는 solution 함수를 작성해 주세요.
[제한사항]
1. 1 ≤ picture의 길이 ≤ 20
2. 1 ≤ picture의 원소의 길이 ≤ 20
3. 모든 picture의 원소의 길이는 같습니다.
4. picture의 원소는 '.'과 'x'로 이루어져 있습니다.
5. 1 ≤ k ≤ 10
def solution(picture, k):
answer = []
return answer
- 입출력 예를 보고 생각이 꼬여버림.
- 검색해서 다른 사람들이 푼 코드 보고 해결함.
[A] (내가 쓴 답)
def solution(picture, k):
answer = []
for pic in picture :
pic = "".join([p*k for p in pic])
for _ in range(k) :
answer.append(pic)
return answer
* 문자열도 k배 늘리고, 리스트도 k배 늘리기
* _ 의 의미 : i 라고 생각했을 때 i를 사용하지 않고 반복하게 되는 경우, 따로 선언해주지 않는다.
[A] 다른 답들
def solution(picture, k):
answer = []
for i in range(len(picture)):
for _ in range(k):
answer.append(picture[i].replace('.', '.' * k).replace('x', 'x' * k))
return answer
def solution(picture, k):
answer = []
for row in picture: # 이미지의 한 줄을 가져온다.
resized = ''
for pixel in row:
resized += pixel * k # 한 픽셀을 k배 만큼 가로로 늘린다.
for _ in range(k):
answer.append(resized) # 가로로 늘려진 이미지 한 줄을 k배 만큼 세로로 늘린다.
return answer
'Algorithm > 프로그래머스' 카테고리의 다른 글
| [Python] [코딩 기초 트레이닝] / 옹알이 (1) (0) | 2024.08.24 |
|---|---|
| [Python] [코딩 기초 트레이닝] / 정수를 나선형으로 배치하기 (0) | 2024.08.24 |
| [Python] [코딩 기초 트레이닝] / 두 수의 합 (0) | 2024.08.24 |
| [Python] [코딩 기초 트레이닝] / 전국 대회 선발 고사 (0) | 2024.08.24 |
| [Python] [코딩 기초 트레이닝] / 무작위로 K개의 수 뽑기 (0) | 2024.08.24 |