본문 바로가기

개발&컴퓨터/알고리즘

[알고리즘문제] 문자열 정렬하기

반응형

문자열 읽어서 크기순 배열하기! (간단한 문제)


Q.

프로그램은 입력으로 문장을 읽어들이고 이것을 각각의 단어들로 나누고 단어를 길이가 작은 것부터 출력하는 코드를 작성하시오.

 

예를 들어서 입력이 I am a boy 라면 출력은
I
a
am
boy

[입력 형식]

입력 파일의 이름은 INPUT.TXT이다. 입력은 여러 개의 문장이 하나 이상의 줄에 걸쳐서 들어온다.
입력 파일에는 콤마가 없다. 문장의 개수는 100을 넘지 않는다.

 

[출력 형식]
출력 파일의 이름은 OUTPUT.TXT이다. 첫 줄에 가장 길이가 작은 문자열, 두번째 줄에 두번째로 길이가 작은 문자열, …,이런 식으로 길이가 작은 것부터 한 줄에 한 단어씩 출력한다. 길이가 같은 단어는 아무 순서로나 출력되어도 된다.

 

[입력과 출력의 예]

 

> INPUT.TXT
This is a test program
I am happy

 

> OUTPUT.TXT
a
I
is
am
This
test
happy
program

 

 

A.

* 링크드 리스트(Linked List) 사용

 - 텍스트파일에서 단어를 하나하나 읽어들이면서 링크드 리스트의 적합한 위치에 삽입

 

* 배열(Array) 사용

 - 텍스트파일에서의 단어를 모두 읽어들여 배열에 저장한 다음, 이 배열을 정렬.

 

작성언어 : C

 

Solution_StringSorting.zip

 

반응형