알고리즘 공부/C++
백준 2902번 KMP는 왜 KMP일까? C++
마달랭
2024. 7. 20. 21:27
리뷰
stringstream과 getline 메서드를 처음으로 알게 된 문제, 파이썬이라면 split으로 금방 풀 수있겠지만 C++은 너무 불친절한 느낌..
문제 풀이
- 문자열을 입력 받고 해당 문자열을 stringstream 타입의 변수로 생성해 준다.
- 정답을 출력할 문자열과 임시로 받아올 문자열을 각각 빈 문자열로 초기화 해준다.
- while 루프를 돌며 -을 기준으로 문자열을 분리하고 각각 문자열의 첫번째 문자만 정답 문자열에 더해준다.
- while 루프가 종료된 후 정답 문자열을 출력해 준다.
참고 사항
getline함수는 통해 문자열이 반환되었을 경우 true, 더이상 반환할 문자열이 없을 경우 false를 리턴한다.
정답 코드
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string a;
cin >> a;
string ans = "";
string temp = "";
stringstream ss(a);
while (getline(ss, temp, '-')) {
ans += temp[0];
}
cout << ans;
}
728x90