※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 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 |