본문 바로가기

개발자노트

Random을 이용한 Up/Down!

package class05;

import java.util.Random;

import java.util.Scanner;

public class Test07 {

	public static void main(String[] args) {

// 코딩테스트: 삽입,선택 정렬

// +) 퀵 정렬 까지 네가지는 잘 봐두면 좋음

// 랜덤 관련 알고리즘

// 주사위눈금, 랜덤파편, 로또

		Random random = new Random(); // new가 사용되었기 때문에 random수를 생성하는 객체

// System.out.println(random.nextInt(6)+1); // 0~4까지 , 컴퓨터는 0부터 시작함 0을 포함하기 싫으면

// (랜덤으로 나올 숫자)에 +1

// 10~50 사이를 나타내고 싶으면

// System.out.println(random.nextInt(41)+10);

		Scanner sc = new Scanner(System.in);

		int L = 1;

		int H = 100;

		int ans = random.nextInt(100) + 1; // 1~100

		while (true) {

			System.out.print(L + "~" + H + " 정답: ");

			int num = sc.nextInt();

			if (num == ans) {

				System.out.println("정답입니다! " + ans);

				break;

			} else if (num > ans) {

				System.out.println("DOWN!");

				H = num - 1;

			} else {

				System.out.println("UP!");

				L = num + 1;

			}

		}

	}

}