본문 바로가기

Algorithm/Programers - Java

[프로그래머스(Java)] 그림 확대 / String.valueOf, repeat()

 

Level. 0

 

문제

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

* 제한사항
- 1 ≤ picture의 길이 ≤ 20
- 1 ≤ picture의 원소의 길이 ≤ 20
- 모든 picture의 원소의 길이는 같습니다.
- picture의 원소는 '.'과 'x'로 이루어져 있습니다.
- 1 ≤ k ≤ 10

 

풀이

class Solution {
    public String[] solution(String[] picture, int k) {
        String[] answer = new String[picture.length * k];
        for(int i=0; i<picture.length; i++){
            String str = "";
            for(int j=0; j<picture[i].length(); j++){
                for(int l = 0; l < k; l++){
                    str += picture[i].charAt(j);
                }
            }
            for(int j=0; j<k; j++){
                answer[(i*k)+j] = str;
                //System.out.println(str);
            }
        }
        return answer;
    }
}

 


다른 풀이

class Solution {
    public String[] solution(String[] picture, int k) {
        String[] answer = new String[picture.length * k];
        int idx = 0;

        for(int i=0; i<picture.length; i++) {
            for(int j=0; j<k; j++) {
                StringBuilder sb = new StringBuilder();

                for(int l=0; l<picture[i].length(); l++) {
                    sb.append(String.valueOf(picture[i].charAt(l)).repeat(k));
                }

                answer[idx++] = sb.toString();
            }
        }

        return answer;
    }
}

 

String.valueOf

  • Object 값을 String 으로 변경시킨다. 

repeat()

  • String 의 메서드로, String 문자열을 주어진 횟수만큼 반복한 값을 리턴한다. 

 

 


https://school.programmers.co.kr/learn/courses/30/lessons/181836?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr