본문 바로가기

Algorithm/Implementation

(C++, Rust) - 백준(BOJ) 23803 : 골뱅이 찍기 - ㄴ

반응형

https://www.acmicpc.net/problem/23803

 

23803번: 골뱅이 찍기 - ㄴ

서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 ㄴ자 모양의 골뱅이가 들어있다. ㄴ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사

www.acmicpc.net

별찍기? 같은 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

n을 선언 후 입력받습니다.

📔 풀이과정

모양이 다른 두 형태를 출력해야합니다. 한 부분은 | 모양이고 다른 부분은 ㅡ모양입니다. 각각 1, 2번 모양으로 생각해봅니다.

1. n*5-n만큼의 개행을 출력합니다. 그리고 개행 전 n개의@를 출력합니다.2. n만큼의 개행을 출력합니다. 그리고 개행 전 n*5개의 @를 출력합니다.

📔 정답출력

공식에 따라 2중 for loop를 1,2번 모양에 대해 각각 수행해 출력합니다.


📕 Code

C++

#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
  cin >> n;
  for(int i = 0; i < n*5 - n; i++) {
    for(int j = 0; j < n; j++)
      cout << '@';
    cout << '\n';
  }
  for(int i = 0; i < n; i++) {
    for(int j = 0; j < n*5; j++)
      cout << '@';
    cout << '\n';
  }
}

 

Rust

use std::io;

fn main(){
  let mut line = String::new();
  io::stdin().read_line(&mut line).expect("wrong io");
  let n = line.trim().parse::<i32>().unwrap();
  for _ in 0..(n*5-n) {
    for _ in 0..n {
      print!("@");
    }
    println!("");
  }
  for _ in 0..n {
    for _ in 0..n*5 {
      print!("@");
    }
    println!("");
  }
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.