자바스크립트

[JavaScript] 프로그래머스 그림 확대

코딩하는둥이 2024. 10. 24. 17:23
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제 설명

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

입출력 예

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........"]

 

const solution = (picture, k) => {
    var answer = [];
    picture.forEach(el => {
        const repeat = [...el].map(el => el.repeat(k)).join('');
        for(let i = 0; i < k; i++){
            answer.push(repeat);
        }
    })
    return answer;
}

 

설명

forEach를 사용하여 picture의 각 원소를 k만큼 반복 후에 합칩니다. 그 후 i가 k보다 작을 때까지 answer에 repeat을 마지막 배열에 추가해줍니다.