Header Banner
Kakao Logo

TECH.KAKAO.GG

기술 자료/Algorithm/프로그래머스 그림 확대

프로그래머스 그림 확대

Algorithm
👁️ 63일 전
function solution(picture, k) {
    var answer = [];

    // 1. 그림의 각 줄(row)을 하나씩 꺼내서 처리
    for(let row of picture) {

        // 2. 가로 확대된 줄을 만들기 위한 빈 문자열
        let expandedRow = '';

        // 3. 한 줄에서 각 문자(char)를 하나씩 꺼내서 k번 반복
        for (let char of row) {
            expandedRow += char.repeat(k); // 예: '.' -> '..', 'x' -> 'xx'
        }

        // 4. 가로로 확장한 줄을 세로로도 k번 반복
        for(let i = 0; i < k; i++) {
            answer.push(expandedRow); // 같은 줄을 k번 넣음
        }
    }

    return answer;
}

🛠️ 접근 방식

  1. picture의 각 문자열(그림의 한 줄)을 하나씩 반복

  2. 각 문자(x.)를 k번 반복해서 한 줄을 가로 확대

  3. 그 줄을 다시 k번 반복해서 세로 확대

  4. 모든 줄에 대해 위 작업을 반복해서 전체 그림 확대 완료

 

💡 핵심 개념 요약

  • 문자 단위 반복 (char.repeat(k)): 가로 확대

  • 줄 단위 반복 (for i in k): 세로 확대

  • for...of 문을 사용하면 문자열이나 배열을 간단하게 순회 가능

키워드

프로그래머스 그림 확대그림 확대문자 단위 반복2중 반복문확대 변환 로직