https://school.programmers.co.kr/learn/courses/30/lessons/181836
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다. 이 그림 파일을 나타낸 문자열 배열 picture
과 정수 k
가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k
배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
picture
의 길이 ≤ 20 - 1 ≤
picture
의 원소의 길이 ≤ 20 - 모든
picture
의 원소의 길이는 같습니다. picture
의 원소는 '.'과 'x'로 이루어져 있습니다.- 1 ≤
k
≤ 10
입출력 예
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"] |
입출력 예 #1
- 예제 1번의
picture
는 다음과 같습니다.이를 가로 세로로k
배, 즉 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........"]를 return 합니다. -
..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........
-
.xx...xx. x..x.x..x x...x...x .x.....x. ..x...x.. ...x.x... ....x....
입출력 예 #2
- 예제 2번의
picture
는 다음과 같습니다.이를 가로 세로로k
배, 즉 3배 확대하면 그림 파일은 다음과 같습니다.따라서 ["xxx...xxx", "xxx...xxx", "xxx...xxx", "...xxx...", "...xxx...", "...xxx...", "xxx...xxx", "xxx...xxx", "xxx...xxx"]를 return 합니다. -
xxx...xxx xxx...xxx xxx...xxx ...xxx... ...xxx... ...xxx... xxx...xxx xxx...xxx xxx...xxx
-
x.x .x. x.x
풀이
import java.util.*;
class Solution {
public String[] solution(String[] picture, int k) {
List<String> result = new ArrayList<>();
for (String row: picture) {
String rowk = row.chars()
.mapToObj(c -> String.valueOf((char) c).repeat(k))
.reduce("", String::concat);
for (int i = 0; i < k; i++) {
result.add(rowk);
}
}
return result.toArray(new String[0]);
}
}
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
'코딩 테스트 (Java) > 코딩 기초 트레이닝 (프로그래머스)' 카테고리의 다른 글
181834. l로 만들기 (0) | 2025.04.23 |
---|---|
181835. 조건에 맞게 수열 변환하기 3 (0) | 2025.04.23 |
181837. 커피 심부름 (0) | 2025.04.23 |
181838. 날짜 비교하기 (0) | 2025.04.23 |
181839. 주사위 게임 1 (0) | 2025.04.23 |