반응형
https://www.acmicpc.net/problem/23812
23812번: 골뱅이 찍기 - 돌아간 ㅍ
서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 반시계 방향으로 90도 돌아간 ㅍ자 모양의 골뱅이가 들어있다. 돌아간 ㅍ자 모양은 가로 및 세로로 각각 5개
www.acmicpc.net
출력 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
n을 선언 후 입력받습니다.
📔 풀이과정
출력예시를 보면 두 부분이 반복되는 것을 알 수 있습니다.
1. 가운데가 비어있는 부분
2. 가운데가 차있는 부분
이를 함수로 각각 만들어줍니다.
📔 정답출력
형태에 맞게 함수들을 번갈아 출력해줍니다.
📕 Code
C++
#include <bits/stdc++.h>
using namespace std;
int n;
void printOther(){
for(int i = 0; i < n; i++){
for(int j = 1; j <= n * 5; j++){
if(j <= n || j > n * 4) cout << '@';
else cout << ' ';
}
cout << '\n';
}
}
void printSquare(){
for(int i = 0; i < n; i++){
for(int j = 0; j < n * 5; j++){
cout << '@';
}
cout << '\n';
}
}
int main(){
cin >> n;
printOther();
printSquare();
printOther();
printSquare();
printOther();
}
Rust
use std::io;
pub fn print_other(n: i64){
for _ in 0..n {
for j in 0..n*5 {
if j < n || j >= n * 4 {
print!("@");
}
else {
print!(" ");
}
}
println!();
}
}
pub fn print_square(n: i64){
for _ in 0..n {
for _ in 0..n*5{
print!("@");
}
println!();
}
}
fn main(){
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
let n = line.trim().parse::<i64>().unwrap();
print_other(n);
print_square(n);
print_other(n);
print_square(n);
print_other(n);
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++, Rust) - 백준(BOJ) 24263 : 알고리즘 수업 - 알고리즘의 수행 시간 2 (0) | 2022.09.24 |
---|---|
(C++, Rust) - 백준(BOJ) 23811 : 골뱅이 찍기 - ㅌ (2) | 2022.09.23 |
(C++, Rust) - 백준(BOJ) 23808 : 골뱅이 찍기 - ㅂ (2) | 2022.09.21 |
(C++) - 백준(BOJ) 25591 : 푸앙이와 종윤이 (0) | 2022.09.20 |
(C++, Rust) - 백준(BOJ) 25625 : 샤틀버스 (0) | 2022.09.19 |