알고리즘 공부/C++

백준 2902번 KMP는 왜 KMP일까? C++

마달랭 2024. 7. 20. 21:27
반응형

리뷰

stringstream과 getline 메서드를 처음으로 알게 된 문제, 파이썬이라면 split으로 금방 풀 수있겠지만 C++은 너무 불친절한 느낌..

 

문제 풀이

  1. 문자열을 입력 받고 해당 문자열을 stringstream 타입의 변수로 생성해 준다.
  2. 정답을 출력할 문자열과 임시로 받아올 문자열을 각각 빈 문자열로 초기화 해준다.
  3. while 루프를 돌며 -을 기준으로 문자열을 분리하고 각각 문자열의 첫번째 문자만 정답 문자열에 더해준다.
  4. 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
반응형