문제
스트링스트림(stringstream)은 문자열에서 작동하는 스트림 클래스이다.
이 클래스의 객체는 일련의 문자를 포함하는 문자열 버퍼(buffer)를 사용한다.
이를 통하여 우리는 문자열을 입력하고 출력할 수 있다.
아래 코드는 sent 문자열로 stringstream을 초기화하여 객체를 생성하고,
이를 활용하여 word 문자열에 입력하여 사용하는 모습을 보여주고 있다.

stringstream이라는 개념이 낯설어서 부담감이 생길 수 있지만, 사용법을 익히면 앞으로 문자열을 다루는 것이 쉬워질 것이다.
아래 코드를 보자,

위의 두 코드는 완전히 똑같은 일을 하는 코드이지만, 그 길이가 3배 정도 다르다.
이제 왜 stringstream을 배우는게 좋은지 알 수 있을 것이다.
[문제]
한 줄의 문장을 입력받아 공백을 구분자로 하여 단어로 나누고 단어들을 아스키 코드순으로 정렬한후 공백으로 구분하여 한 줄에 출력하시오.
문장에는 대문자, 소문자, 숫자문자, 점, 괄호문자 등 특수문자가 포함되어 있을 수 있다.
입력
문자열이 공백을 포함하여 입력된다. 이 때, 문장의 길이는 1이상 100이하이다.
같은 단어가 포함되어 있을 수 있음에 유의하라.
출력
첫 번째 줄에 입력받은 문자열의 단어들을 아스키 코드순으로 정렬하여 출력하시오.
예제
cat banana book
banana book cat
출처
klee