지우너

[프로그래머스] lv.0 그림확대 본문

Problem Solving

[프로그래머스] lv.0 그림확대

지옹 2023. 12. 5. 17:21
  • 그림 확대
 

프로그래머스 0 레벨 기초 트레이닝 문제 그림확대입니다.

 

예제1 입력 및 k=2가 주어졌을 때 출력

 

문제 풀이

".xx...xx." 한 줄이 "..xxxx......xxxx.." < 이런 모양으로 2줄이 되었다.

전자에서 모양을 유지한 채 문양을 2개씩 추가한 게 후자의 모양이 되는 것.

좀 더 풀어서 적자면 왼쪽은 점이 1개 x가 2개로 시작 -> 오른쪽은 점이 2개 x4개로 시작

 

문자를 k번씩 더한 input_Str이라는 문자열을 k번 answer 벡터에 넣는다.

#include <string>
#include <vector>

using namespace std;

vector<string> solution(vector<string> picture, int k) {
    vector<string> answer;
    for (int i=0;i<picture.size();i++){
        string picture_Str = picture[i];
        string input_Str = "";
        for (int j=0; j<picture_Str.length();j++){
            char c = picture_Str[j];
            for(int num=0; num<k; num++){
                input_Str = input_Str + c;
            }
        }
        
        // 확대하는 만큼 string을 push
        for (int j=0; j<k;j++){
            answer.push_back(input_Str);
        }
    }
    return answer;
}