© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 4740 - 거울, 오! 거울

2024-08-22
BOJ
브론즈 III
cpp
원본 문제 보기
구현
문자열

문제

BOJ 4740 - 거울, 오! 거울

여러 문자열이 주어지면 각각을 뒤집어 출력하라. ***이 입력되면 종료한다.

입력

여러 줄에 문자열이 주어진다. ***이 입력되면 종료.

출력

각 문자열을 뒤집어 출력한다.

예제

입력출력
abcd ***dcba

풀이

한 줄씩 읽어 종료 조건을 확인하고, 뒤집어 출력한다.

  1. getline으로 한 줄씩 읽는다
  2. ***이면 종료한다
  3. reverse로 문자열을 뒤집어 출력한다

핵심 아이디어: STL의 reverse로 문자열을 O(N)에 뒤집어 출력한다.

코드

#include <bits/stdc++.h>
using namespace std;
string s;
int main()
{
  while (1)
  {
    getline(cin, s);
    if (s == "***")
      break;
    reverse(s.begin(), s.end());
    cout << s << '\n';
  }
}

복잡도

  • 시간: O(T * N) (T: 줄 수, N: 문자열 길이)
  • 공간: O(N)