[백준 BOJ] 11945번 뜨거운 붕어빵 (C++/cpp)

2022. 10. 14. 15:38PS (Program Solving)/BOJ (백준)

문제 설명

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

 

11945번: 뜨거운 붕어빵

입력으로 주어지는 각 행을 반전시켜서 출력하면 됩니다. 입력의 1행 1열은 출력의 1행 M열로, 입력의 1행 2열은 출력의 1행 M-1열로 … 입력의 1행 M열은 출력의 1행 1열로 … 입력의 N행 M열은 출력

www.acmicpc.net

백준 BOJ 11945번 뜨거운 붕어빵 문제 사진

 

접근 방법 - 입출력 제어의 기초 문제

백준의 11945번 문제는 입출력을 제어하는 데에 기초적인 부분을 다루고 있는 문제이다.

해당 문제는, 입력받은 붕어빵의 형태를 좌우로 반전하여 출력해야 하는 문제이다.

이 문제와 같은 경우에는, 입력값을 변형하여 출력하면 되는 부분이기 때문에, 배열과 2중 반복문을 적절하게 활용할 수 있다면 쉽게 풀 수 있을 것이다.

필자와 같은 경우에도 배열로 입력받은 값을 반복문으로 조정하여 출력하도록 하여서 문제를 해결하였다.

혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면, 아래의 설명과 코드를 참고해보길 바란다.

필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.

 

코드의 실행 순서

1) 붕어빵의 형태를 입력받을 공간(ch)을 전역 변수로 선언해둔다.

 

2) 가로, 세로(n, m)를 입력받고, 이에 따라서 ch의 값을 입력받는다.

 

3) 2중 반복문을 적절하게 조정하여, ch에 대하여 출력을 수행하도록 한다.

이때, 좌우로 반전하여 출력해야 하기 때문에 행 순서는 그대로 유지하고 열 순서를 반대로 출력하도록 한다.

(아래 코드에서, 행을 제어하는 변수는 i이며 열을 제어하는 변수는 j이다.)

 

4) 출력을 완료하였다면, 실행 종료한다.

반응형

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 11945번 코드
char ch[11][11];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++) {
			cin >> ch[i][j];
		}
	}

	for (int i = 0; i < n; i++) {
		for (int j = m - 1; j >= 0; j--) {
			cout << ch[i][j];
		}
		cout << endl;
	}
}

 

제출 결과

백준 BOJ 11945번 뜨거운 붕어빵 문제 C++ 제출 결과

(2022.08.05 백준 11945번 문제 제출 결과)

반응형