© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

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

BOJ 4606 - The Seven Percent Solution

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

문제

BOJ 4606 - The Seven Percent Solution

문자열에서 특수 문자(공백, !, $, %, (, ), *)를 퍼센트 인코딩으로 치환하여 출력하는 문제

풀이

각 문자를 순회하며, 지정된 특수 문자에 해당하면 %XX 형식으로 치환한다. switch 문으로 7가지 특수 문자를 처리하고, 나머지는 그대로 출력한다.

코드

#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
 
  string line;
  while (getline(cin, line)) {
    if (line == "#") break;
 
    string result = "";
    for (char c : line) {
      switch (c) {
        case ' ':  result += "%20"; break;
        case '!':  result += "%21"; break;
        case '$':  result += "%24"; break;
        case '%':  result += "%25"; break;
        case '(':  result += "%28"; break;
        case ')':  result += "%29"; break;
        case '*':  result += "%2a"; break;
        default:   result += c;     break;
      }
    }
    cout << result << "\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 4580 - Mad Scientist

다음 글

BOJ 4631 - Symmetric Order