© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

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

BOJ 4631 - Symmetric Order

2026-03-08
BOJ
브론즈 I
cpp
원본 문제 보기
구현
문자열

문제

BOJ 4631 - Symmetric Order

N개의 이름을 홀수 인덱스는 앞에서부터, 짝수 인덱스는 뒤에서부터 출력하는 대칭 순서 재배열 문제

풀이

홀수 번째(0, 2, 4...) 이름을 순서대로 출력한 뒤, 짝수 번째 이름을 역순으로 출력한다. 이를 통해 대칭적인 순서가 만들어진다.

코드

#include <iostream>
#include <string>
 
using namespace std;
 
const int MAX = 100;
 
int N, M;
string s[MAX];
 
int main() {
  cin.tie(NULL), cout.tie(NULL);
  ios_base::sync_with_stdio(false);
 
  while (true) {
    int i;
 
    cin >> N;
    if (!N) break;
    for (i = 0; i < N; i++) cin >> s[i];
 
    cout << "SET " << ++M << "\n";
    for (i = 0; i < N; i += 2) cout << s[i] << "\n";
    for (i = N - 1 - (N % 2); i >= 0; i -= 2) cout << s[i] << "\n";
  };
 
  return 0;
}

복잡도

  • 시간: O(N) (N: 이름 수)
  • 공간: O(N)

최근 글

  • 2026-03-15BOJ 4757 - A Contesting Decision
  • 2026-03-14BOJ 4749 - Take Your Vitamins
  • 2026-03-13BOJ 4732 - 조옮김
  • 2026-03-12BOJ 4697 - Fifty Coats of Gray
  • 2026-03-11BOJ 4678 - Skew Binary
이전 글

BOJ 4606 - The Seven Percent Solution

다음 글

BOJ 4636 - Clay Bully