백준 3035 - 스캐너
문제링크
문제 접근
- 2차원 배열의 형태로 접근하는 것이 아니라 행 하나씩 문자열로 처리했다.
- 각 행을 하나의 문자열로 받고 문자열의 문자들을 각각 zc번 출력한다. zc번 출력하는 과정을 zr번 반복하면 문제에서 요구하는 스캔 작업을 처리하는 연산이 된다.
의사코드(pseudo-code)
- r,c,zr,zc, 입력
- for i=0 to r-1:
- 한 줄씩 처리하기 위해 문자열로 입력, str
- for j=0 to zr-1:
- for l=0 to c-1:
- for k=0 to zc-1:
- str[l] 출력
- 개행 출력
소스코드 및 분석
전체 코드
#include <iostream>
#include <string>
int main()
{
int r, c, zr, zc;
std::cin >> r >> c >> zr >> zc;
for (int i = 0; i < r; i++) {
std::string str;
std::cin >> str;
for (int j = 0; j < zr; j++) {
for (int l = 0; l < c; l++)
for (int k = 0; k < zc; k++)
std::cout << str[l];
std::cout << "\n";
}
}
}
Leave a comment