※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 27541번 문제인 末尾の文字 (Last Letter)이다.
문제는 아래 링크를 확인하자.

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

 

27541번: 末尾の文字 (Last Letter)

葵が見た文字列 JOI の末尾の文字は G でないので,葵は末尾に文字 G を付け加えた文字列 JOIG を思い浮かべる.そのため,JOIG を出力する.

www.acmicpc.net

주어진 문자열의 마지막 문자가 'G'이면 그 문자를 제거하고, 아니라면 마지막에 'G'를 추가해 출력하는 문제이다.

 

문자열의 길이 N이 2 이상이므로 "문자열의 마지막 문자"는 항상 존재한다. 또한 주어진 문자열에서 마지막 문자를 지우더라도 그 문자열이 빈 문자열이 되지도 않는다. 그러므로 특별한 예외처리 없이 마지막 문자를 확인 후 구현하는 것으로 문제를 충분히 해결할 수 있다.

 

글쓴이는 back과 pop_back을 이용해 위 내용을 간단하게 구현하였다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

int slen;
string s;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> slen >> s;
	if (s.back() == 'G') s.pop_back();
	else s += "G";

	cout << s;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 16915 // C++] 호텔 관리  (0) 2023.02.24
[BOJ 4540 // C++] Q  (0) 2023.02.24
[BOJ 2518 // C++] 회전 테이블  (0) 2023.02.24
[BOJ 2528 // C++] 사다리  (0) 2023.02.23
[BOJ 24314 // C++] 알고리즘 수업 - 점근적 표기 2  (0) 2023.02.23

+ Recent posts