반응형

 

문제

 

package kr.or.ddit.homework;

import java.util.Random;
import java.util.Scanner;

public class HomeWork7 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork7 obj = new HomeWork7();
		obj.process();
	}
	
	public void process() {
		String[] words = { "abort", "absurd", "bankrupt", "bishop", "caption", "cater" };
		int ran = new Random().nextInt(words.length);
		
		String select = words[ran];
		
		char[] ch = select.toCharArray();
		
		/*
		 *  문자 섞기 
		 */
		for(int i=0; i< 10000000; i++) {
			int ran2 = new Random().nextInt(ch.length);
			char temp = ch[0];
			ch[0] = ch[ran2];
			ch[ran2] = temp;;
		}
	
		while(true) {
			/*
			 *   ch 배열 출력하기 
			 *   
			 */
			
			// 정답 맞추기.
		}
		
	}
}

 

 

 

정답

 

package kr.or.ddit.homework;

import java.util.Random;
import java.util.Scanner;

public class HomeWork7 {
	Scanner sc = new Scanner(System.in);

	public static void main(String[] args) {
		HomeWork7 obj = new HomeWork7();
		obj.process();
	}
	
	public void process() {
		/*
		 * 6개의 단어가 제공되며
		 * 이중 임의의 단어가 선택된다.
		 * 
		 * 사용자는 이를 보고 원래의 단어를 입력한다.
		 * 사용자가 단어를 맞출때까지 반복하며 단어를 맞추었을때 시도 횟수 출력
		 */
		String[] words = { "abort", "absurd", "bankrupt", "bishop", "caption", "cater" };
		int ran = new Random().nextInt(words.length);
		
		String select = words[ran];
		
		/*
		 * String -> char 배열로 바꿔줌
		 * toCharArray
		 */
		char[] ch = select.toCharArray();
		
		/*
		 *  문자 섞기 
		 */
		for(int i=0; i< 10000000; i++) {
			int ran2 = new Random().nextInt(ch.length);
			char temp = ch[0];
			ch[0] = ch[ran2];
			ch[ran2] = temp;;
		}
	
		
		int cnt = 0;
		
		while(true) {
			/*
			 *   ch 배열 출력하기 
			 *   정답 : abort
			 *   섞인 단어 : bator
			 *   
			 */
			System.out.print("섞인 단어 : ");
			for (char c : ch) {
				System.out.print(c);
			}
			System.out.println();
			
			// 정답 맞추기.
			System.out.print("정답 : ");
			String answer = sc.nextLine();
			
			cnt++;
			System.out.println(cnt + "번째 시도입니다.");

			if(answer.equals(select)) {
				System.out.println("정답입니다.");
				break;
			}
			System.out.println("틀렸습니다.\n");
		}
	}
}

 

결과 화면

 

 

반응형