본문 바로가기
코딩테스트/자바 Level 0

[Java] 그림 확대

by onggury 2023. 7. 20.

문제

직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다. 이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

 

 

제한사항

  • 1 ≤ picture 의 길이 ≤ 20
  • 1 ≤ picture 의 원소의 길이 ≤ 20
  • 모든 pricture 의 원소의 길이는 같습니다.
  • picture 의 원소는 '.' 과 'x' 로 이루어져 있습니다.
  • 1 ≤ k ≤ 10

 

class Solution {
    public String[] solution(String[] picture, int k) {
        String[] answer = new String[picture.length * k];
        int count = 0;
        
        for(String s : picture) {
            String str = "";
            for(int i = 0; i < s.length(); i++) {
                char ch = s.charAt(i);
                for(int j = 0; j < k; j++) {
                    str += ch;
                }
            }
            do {
                answer[count] = str;
                count++;
            } while(count % k != 0);
        }
        return answer;
    }
}

 

처음에 picture의 원소를 가져오고

그 원소의 문자를 하나 가져와서

k번 반복해서 str 변수에 넣어줬다.

그리고 answer 에 k 번 넣어줬다.

 

이제와서 생각났지만, StringBuilder 를 썼다면 더 좋지 않았을까 싶다. 이땐 사용법을 몰랐기 때문이다.