문제
사용자가 입력한 단어를 알파벳순으로 정렬하는 문제입니다 이를 해결하는 프로그램을 작성하세요
단어를 입력하세요: carrot
단어를 입력하세요: banana
단어를 입력하세요: apple
단어를 입력하세요: dog
단어를 입력하세요: egg
apple banana carrot dog egg
단어를 입력하세요: 귤
단어를 입력하세요: 배
단어를 입력하세요: 사과
단어를 입력하세요: 포도
단어를 입력하세요: 바나나
귤 바나나 배 사과 포도
단어를 입력하세요: 기차
단어를 입력하세요: 버스
단어를 입력하세요: 택시
단어를 입력하세요: 자동차
단어를 입력하세요: 비행기
기차 버스 비행기 자동차 택시
알고리즘 설계
프로그램 시작
단어 입력
단어 정렬
마지막 칸에 가장 큰 값을 저장하면서 한 칸씩 앞으로 영역 좁혀가기
영역의 첫 번째 칸부터 인접한 두 값을 비교하면서
앞 단어가 뒤 단어보다 알파벳순으로 뒤면, 두 단어를 맞바꾸기
정렬 결과 출력
프로그램 종료
| [0] | [1] | [2] | [3] | [4] |
| | | | last |
| 80 | 60 | 100 | 90 | 70 |
| 60 | 80 | 100 | 90 | 70 |
| 60 | 80 | 100 | 90 | 70 |
| 60 | 80 | 100 | 90 | 70 |
| 60 | 80 | 100 | 90 | 70 |
| 60 | 80 | 90 | 100 | 70 |
| 60 | 80 | 90 | 100 | 70 |
| 60 | 80 | 90 | 70 | 100 |
|
| [0] | [1] | [2] | [3] | [4] |
| | | last |
| 60 | 80 | 90 | 70 | 100 |
| 60 | 80 | 90 | 70 | 100 |
| 60 | 80 | 90 | 70 | 100 |
| 60 | 80 | 90 | 70 | 100 |
| 60 | 80 | 90 | 70 | 100 |
| 60 | 80 | 70 | 90 | 100 |
|
| [0] | [1] | [2] | [3] | [4] |
| | last |
| 60 | 80 | 70 | 90 | 100 |
| 60 | 80 | 70 | 90 | 100 |
| 60 | 80 | 70 | 90 | 100 |
| 60 | 70 | 80 | 90 | 100 |
|
| [0] | [1] | [2] | [3] | [4] |
| last |
| 60 | 70 | 80 | 90 | 100 |
| 60 | 70 | 80 | 90 | 100 |
|
// 파일명 : ./Chapter10/WordSort.java
import java.util.Scanner;
public class WordSort
{
// 프로그램 시작
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
// 단어 입력
2 String[] words = { "", "", "" };
for ( int index = 0; index < words.length; index++ ) {
System.out.print( "단어를 입력하세요: " );
words[index]= scan.next();
}
// 단어 정렬
// 마지막 칸에 가장 큰 값을 저장하면서 한 칸씩 앞으로 영역 좁혀가기
3 for ( int last = words.length - 1; 0 < last; last-- ) {
// 영역의 첫 번째 칸부터 인접한 두 값을 비교하면서
4 for ( int index = 0; index < last; index++ ) {
// 앞 단어가 뒤 단어보다 알파벳순으로 뒤면, 두 단어를 맞바꾸기
5 if ( words[index].compareTo( words[index+1]) > 0 ) {
String temp = words[index];
words[index]= words[index+1];
6 words[index+1]= temp;
}
}
}
// 정렬 결과 출력
for ( String word : words )
System.out.print( word + " " );
scan.close();
// 프로그램 종료
7 }
}
실행 순서 확인