[백준 11945] 뜨거운 붕어빵 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
재미있게 붕어빵에 비유되었지만,
결국, 문자들이 오른쪽에서 왼쪽으로 거꾸로 된 상태로 주어졌을 때, 이를 원래 방향으로 복원하는 문제입니다.
- 입력으로
행
의 개수와열
의 길이가 주어집니다. - 각 줄에는 고정된 길이의 문자열이 한 줄씩 입력됩니다.
- 각 줄에 대해, 문자를 오른쪽에서 왼쪽으로 뒤집어 출력하면 됩니다.
접근법
- 먼저 전체 문자열을 2차원 리스트에 입력받습니다.
- 각 줄을 뒤에서부터 앞쪽으로 순회하며 출력하면 됩니다.
- 단순 문자열 뒤집기만 수행하면 되므로 추가적인 로직은 필요하지 않습니다.
시간 복잡도는 O(N × M)
이며, 각 문자를 한 번씩만 순회하면 됩니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
class Program {
static void Main() {
var input = Console.ReadLine().Split();
int n = int.Parse(input[0]), m = int.Parse(input[1]);
var lines = new string[n];
for (int i = 0; i < n; i++)
lines[i] = Console.ReadLine();
foreach (var line in lines) {
char[] arr = line.ToCharArray();
Array.Reverse(arr);
Console.WriteLine(new string(arr));
}
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>
using namespace std;
typedef vector<string> vs;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int cntLine, lenLine; cin >> cntLine >> lenLine;
vector<string> line(cntLine);
for (int i = 0; i < cntLine; i++) {
cin >> line[i];
}
for (int i = 0; i < cntLine; i++) {
for (int j = 0; j < lenLine; j++)
cout << line[i][lenLine - 1 - j];
cout << "\n";
}
return 0;
}