학습(0)/C++ 문제풀이

그림 확대/ 같은 문자 반복

누가 뭐래도 개발자 2025. 3. 12. 18:53

for문 4개는 선 넘지

#include <string>
#include <vector>

using namespace std;

vector<string> solution(vector<string> picture, int k) {
    vector<string> answer;

    for (const string& s : picture)
    {
        string input = "";
        for (char c : s)
        {
            for (int i = 0; i < k; ++i)
            {
               input.push_back(c);
            }
        }

        for (int i = 0; i < k; ++i)
        {
            answer.push_back(input);

        }
    }

    return answer;
}

 

 

자바의 repeat같은 함수는 없지만, string 생성자를 활용하면 for문을 줄일 수 있다.

 

#include <string>
#include <vector>

using namespace std;

vector<string> solution(vector<string> picture, int k) {
    vector<string> answer;
    answer.reserve(picture.size() * k);

    for (const string& s : picture) {
        string expandedRow = "";
        for (char c : s) {
            expandedRow += string(k, c);
        }
        for (int i = 0; i < k; ++i) {
            answer.push_back(expandedRow);
        }
    }
    return answer;
}