Problem Solving/BOJ

[백준 / BOJ] C++ 27962 오렌지먹은지오랜지

nageune 2023. 4. 18. 10:07
728x90
반응형

27962번: 오렌지먹은지오랜지

 

문제

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

 

27962번: 오렌지먹은지오랜지

오렌지를 먹은 지 오래된 선생님은 부족한 비타민C를 문자열 문제를 통해 보충하려고 한다. "오렌지 먹은 지 오랜지"의 "오렌지", "오랜지"와 같이, 길이가 동일하며 각각 맨 앞, 맨 뒤 문자를 포

www.acmicpc.net

 

 

풀이

앞과 뒤에서부터 각각 길이가 1에서 N까지인 문자열을 한 자리씩 비교해 다른 문자가 1개만 있으면 YES를 출력하고 프로그램을 종료한다. 모두 비교했는데 YES를 출력하지 않았다면 NO를 출력한다.

 

 

코드

#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n;
  string s;
  cin >> n >> s;
  for (int i = 1; i <= n; i++) {
    string a = s.substr(0, i);
    string b = s.substr(n - i, i);
    int cnt = 0;
    for (int j = 0; j < i; j++)
      if (a[j] != b[j])
        cnt++;
    if (cnt == 1) {
      cout << "YES";
      return 0;
    }
  }
  cout << "NO";
  return 0;
}

 

728x90
반응형