본문 바로가기
개발로그/알고리즘

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

by 쩜징 2023. 7. 28.

프로그래머스 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;
    }
}

반응형

댓글