문제 설명

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

제한사항

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

입출력 예

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

풀이

function solution(picture, k) {
    var answer = [];
    
    for(let i = 0; i < picture.length; i++){
        let temp = '';
        // 기존의 요소 k배로 늘리기
        for(let j = 0; j < picture[i].length; j++){
            for(let e = 0; e < k; e++){
                temp = temp + picture[i][j];    
            }
            console.log(temp);
        }
        answer.push(temp);
        // 만든 요소 k번 반복해서 붙이기
        for(let d = 1; d < k; d++){
            answer.push(answer[answer.length - 1]);   
        }
    }
    console.log(answer);
    
    return answer;
}

느낀점

처음에 뭔 소린지 몰랐는데, 입출력 예를 유심히 살펴본 결과 규칙같은 것이 보여서 풀었다.
근데 입출력 값으로 결과를 도출하는게 맞는 방법인지는 모르겠다 ㅋㅋ;

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글