[백준 BOJ] 4999번 아! (C++/cpp)

2022. 8. 18. 16:23PS (Program Solving)/BOJ (백준)

문제 설명

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

 

4999번: 아!

입력은 두 줄로 이루어져 있다. 첫째 줄은 재환이가 가장 길게 낼 수 있는 "aaah"이다. 둘째 줄은 의사가 듣기를 원하는 "aah"이다. 두 문자열은 모두 a와 h로만 이루어져 있다. a의 개수는 0보다 크거

www.acmicpc.net

백준 BOJ 4999번 아! 문제 사진

 

접근 방법 - 문자열 연산의 기본 문제

백준의 4999번 문제는 문자열 연산에 있어 기본적인 문제이다.

해당 문제는, 환자가 낼 수 있는 "aah." 소리와 의사가 원하는 "aah." 소리를 입력받은 뒤 환자가 병원을 가야 하는지의 여부를 출력해야 하는 문제이다.

문제 설명이 조금 병맛인 감이 있지만 일단은 애써 무시해보자.

입력값이 모두 "aah." 계통이며 "aah."의 길이에 따라 정답을 달리 출력해야 하는 부분이기 때문에 필자는 문자열의 길이만으로 하여 정답을 출력하게끔 하였다.

환자가 낼 수 있는 "aah."를 a라 가정하고 의사가 원하는 "aah."를 b라 가정할 때, a의 길이와 b의 길이를 비교함으로써 정답을 달리 출력하게끔 하였다는 의미이다.

이에 대한 코드는 아래에 작성되어있으니 혹여나 확인을 원한다면 아래를 참고해보길 바란다.

(문제만 잘 이해하면 코드를 이해하는 데에도 큰 어려움이 없을 거라 생각하기 때문에 코드에 대한 설명은 생략하였다.)

필자는 아래처럼 코드를 작성하여 문제를 해결하였다.

 

성공한 코드

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <iostream>
#define endl '\n'
using namespace std;

//백준 4999번 코드
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);	cout.tie(NULL);

	string a, b;
	cin >> a >> b;
	if (a.length() >= b.length()) { cout << "go" << endl; }
	else { cout << "no" << endl; }
}

 

제출 결과

백준 BOJ 4999번 아! 문제 C++ 제출 결과

(2022.06.26 백준 4999번 문제 제출 결과)

반응형