본문 바로가기
c++/프로그래머스

[프로그래머스] 그림 확대(c++)

by ilp 2024. 1. 12.
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181836

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr



#include <string>
#include <vector>

using namespace std;

vector<string> solution(vector<string> picture, int k) {
    vector<string> answer;
    string temp;
    for(int i=0;i<picture.size();i++){
        for(int j=0;j<picture[i].size();j++){
            for(int l=0;l<k;l++){
                temp+=picture[i][j];
            }
        }
        for(int l=0;l<k;l++){
            answer.push_back(temp);
        }
        temp="";
    }
    return answer;
}

 

answer는 결과를 저장할 문자열 벡터이다.

temp는 각 행을 확대하기 위한 임시 문자열이다.

 

  • 첫번쨰 for문은 picture vector의 각 문자열(행( 에 대해 반복하나.(i)
  • 두번째 for문은 각 행의 문자들에 대해 반복한다.(j)
  • 세번쨰 for문은 k번 반복하고 picture[i][j]를 temp에 추가한다.(l)

이러면 문자를 k번 반복하여 한 행이 만들어진다.

행을 만들고 temp에 저장된 문자열을 k번 반복해서

answer에 추가해준다.

(문자열의 높이도 k배로 확대한다.)

answer에 추가해주었으면 temp는 초기화해준다

참고

나는 처음에 문제를 대충봐서

문자열의 높이 도 k배 확대되는지를 몰라서 틀렸었었다.

문제를 잘 읽어보아야 겟다.


반응형