※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 6765번 문제인 Icon Scaling이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/6765
6765번: Icon Scaling
The output will be 3k lines, which represent each individual line scaled by a factor of k and repeated k times. A line is scaled by a factor of k by replacing each character in the line with k copies of the character.
www.acmicpc.net
3행3열의 아이콘을 3K행3K열로 확대해 출력하는 문제이다.
3K행3K열의 아이콘은 K행K열 단위로 3행3열 아이콘의 한 문자만을 출력하므로 확대한 아이콘의 행과 열을 K로 나눈 몫이 0, 1, 2중 무엇인지를 확인해 해당 칸에 대응되는 문자가 아이콘의 어떤 칸의 문자인지를 알아낼 수 있다. (여기서 행과 열의 번호는 0-based이다.) 이를 이용해 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int K;
char icon[3][3];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
icon[0][0] = icon[0][2] = icon[2][0] = icon[2][2] = '*';
icon[0][1] = icon[1][1] = icon[1][2] = 'x';
icon[1][0] = icon[2][1] = ' ';
cin >> K;
for (int r = 0; r < 3 * K; r++) {
for (int c = 0; c < 3 * K; c++) {
cout << icon[r / K][c / K];
}
cout << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 2546 // C++] 경제학과 정원영 (0) | 2023.08.22 |
---|---|
[BOJ 15822 // C++] Ah-Choo! (0) | 2023.08.22 |
[BOJ 3447 // C++] 버그왕 (0) | 2023.08.21 |
[BOJ 5370 // C++] Which Way (1) | 2023.08.21 |
[BOJ 2897 // C++] 몬스터 트럭 (0) | 2023.08.21 |