백준 3035 - 스캐너

less than 1 minute read

문제링크

문제 접근

  • 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