매일 BOJ
(매일 BOJ) C++ 17863번 FYI
norepinephrine
2026. 1. 5. 22:06
이번 문제는 17863번 FYI이다.

1. 문제 개요
- 문제 내용: 7자리의 전화번호가 주어졌을 때, 앞의 세 자리가 "555"로 시작하면 "YES", 그렇지 않으면 "NO"를 출력하는 프로그램
- 핵심 포인트: 문자열의 인덱스(Index)에 접근하여 특정 위치의 문자를 비교할 수 있는가?
2. 문제 해결 전략
문제를 해결하는 방법은 여러 가지가 있지만, 가장 직관적인 방법은 문자열의 0번, 1번, 2번 인덱스를 각각 확인하는 것
- 먼저 b = true라고 가정합니다.
- 반복문(for)을 통해 앞의 3글자를 하나씩 검사합니다.
- 만약 하나라도 '5'가 아니면 b를 false로 바꾸고 탈출(break)합니다.
- 마지막에 b의 상태에 따라 "YES" 또는 "NO"를 출력합니다.
백준(Baekjoon Online Judge) 17863번: FYI 문제 해결을 위한 블로그 포스팅 초안을 작성해 드립니다. 이 문제는 문자열 처리의 기초를 다지기에 아주 좋은 문제입니다.
3. 정답 코드 (C++)
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
string s;
cin >> s;
bool b = true;
for(int i = 0; i < 3; i++){
if (s[i] != '5') {
b = false;
break;
}
}
if(!b){
cout << "NO";
}
else{
cout << "YES";
}
return 0;
}