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
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 로그인 성공? / Map, map.containsKey() (0) | 2023.09.28 |
---|---|
[프로그래머스(Java)] 캐릭터의 좌표 (0) | 2023.09.28 |
[프로그래머스(Java)] 외계어 사전 (0) | 2023.09.10 |
[프로그래머스(Java)] 정사각형으로 만들기 / System.arraycopy() (0) | 2023.09.10 |
[프로그래머스(Java)] 무작위로 K개의 수 뽑기 / ArrayList.contains(), Stream concat(), limit(), distinct() (0) | 2023.09.09 |