프로그래머스 Lv.0 그림 확대

직사각형 형태의 그림 파일이 있고,
1x1 크기의 정사각형 크기의 픽셀로 이루어져 있다.
그림 파일을 나타낸 문자열 배열 picture과 정수 k가 주어진다.
이 그림 파일을 가로 세로로 k배 늘린 그림 파일 배열을 return하라.
모든 picture의 원소 길이는 같다.
picture의 원소는 '.'과 'x'로 이루어져 있다.
picture | k | result |
[".xx...xx.", "x..x.x..x", "x...x...x", ".x.....x.", "..x...x..", "...x.x...", "....x...."] | 2 | ["..xxxx......xxxx..", "..xxxx......xxxx..", "xx....xx..xx....xx", "xx....xx..xx....xx", "xx......xx......xx", "xx......xx......xx", "..xx..........xx..", "..xx..........xx..", "....xx......xx....", "....xx......xx....", "......xx..xx......", "......xx..xx......", "........xx........", "........xx........"] |
["x.x", ".x.", "x.x"] | 3 | ["xxx...xxx", "xxx...xxx", "xxx...xxx", "...xxx...", "...xxx...", "...xxx...", "xxx...xxx", "xxx...xxx", "xxx...xxx"] |
** 풀이 방법
picture의 각 문자열에 접근하고,
또 다시 문자열의 각 문자에 접근한다.
문자들을 주어진 k만큼 반복해서 만들고,
반복해서 만들어진 문자열을 k번 반복해서 저장한다.
<> 전체 코드 </>
import java.util.*;
class Solution {
public List<String> solution(String[] picture, int k) {
List<String> list = new ArrayList<>();
//picture배열 접근
for (int i=0; i<picture.length; i++) {
String res = "";
//picture배열 각 원소의 문자열에 접근
for (int j=0; j<picture[i].length(); j++) {
//문자열의 각 문자에 접근
char ch = picture[i].charAt(j);
//k번 반복해서 문자열을 새로 만듬
for (int t=1; t<=k; t++)
res += ch;
}
//k번 반복해서 문자열을 저장
for (int t=1; t<=k; t++)
list.add(res);
}
return list;
}
}
반응형
'개발로그 > 알고리즘' 카테고리의 다른 글
프로그래머스 Lv.0 구슬을 나누는 경우의 수 (0) | 2023.07.28 |
---|---|
프로그래머스 Lv.0 무작위로 k개의 수 뽑기 (0) | 2023.07.28 |
프로그래머스 Lv.0 수열과 구간 쿼리2 (0) | 2023.07.28 |
프로그래머스 Lv.0 세 개의 구분자 (0) | 2023.07.26 |
프로그래머스 Lv.0 공 던지기 (0) | 2023.07.26 |
댓글