컴퓨터가 1~100 숫자(정수 범위) 중 하나를 랜덤으로 정합니다. (이를 알려주지 않습니다.)
사용자는 이 숫자를 맞추어야 합니다.
입력한 숫자보다 정답이 크면 → "UP" 출력,
입력한 숫자보다 정답이 작으면 → "DOWN" 출력.
정답을 맞추면 → "정답"을 출력하고, 지금까지 숫자를 입력한 횟수를 알려줍니다.
코딩 초보자라도 if 함수와 while함수, 랜덤 모듈 정도까지만 배워도 재미있게 풀 수 있는 문제입니다.
(예시)
컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.
이 숫자를 맞춰주세요.
1~100 숫자 입력:50
DOWN
1~100 숫자 입력:25
UP
1~100 숫자 입력:38
DOWN
1~100 숫자 입력:32
UP
1~100 숫자 입력:35
UP
1~100 숫자 입력:37
DOWN
1~100 숫자 입력:36
정답입니다! 7회 만에 맞췄어요.
package test;
import java.util.Random;
import java.util.Scanner;
public class month5_8_1 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
Random rd = new Random();
int random = rd.nextInt(100)+1;
int cnt = 1;
System.out.println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.");
System.out.println("이 숫자를 맞춰주세요.");
System.out.print("1~100 숫자 입력 : ");
int a = sc.nextInt();
while(random != a) {
if(a < random) {
System.out.println(a + "보다 더 큽니다.");
} else {
System.out.println(a + "보다 더 작습니다.");
}
System.out.print("다시 입력해주세요 : ");
cnt += 1;
a = sc.nextInt();
}
System.out.println("정답입니다! " + cnt + "회 만에 맞췄어요.");
}
}
2024年05月08日 14:48
public class Up_Down {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력하시오");
int cnt = 0;
int com = (int) (Math.random() * 100) + 1;
while (true) {
int tmp = sc.nextInt();
cnt++;
if (tmp > com) {
System.out.println("UP");
} else if (tmp < com) {
System.out.println("DOWN");
} else {
System.out.printf("정답! 입력한 횟수는 : %d", cnt);
break;
}
}
}
}
자바로 작성하였습니다.
package UpDown;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
int com = (int) (Math.random() * 100 + 1);
Scanner sc = new Scanner(System.in);
int count = 0;
int num = 0;
while (num != com) {
System.out.println(count + "번째 시도");
System.out.println("입력해주세요");
System.out.println("============");
num = sc.nextInt();
if (num < com) {
System.out.println("입력숫자가 더 작습니다.");
} else if (num > com) {
System.out.println("입력숫자가 더 큽니다.");
}
count = count + 1;
if (num == com) {
break;
}
}
System.out.println("정답숫자는" + com + "입니다.");
System.out.println(count + "번만에 맞추셨습니다.");
}
}
import java.util.Random; // 임의의 수를 지정하기 위한 임포트
import java.util.Scanner; // 플레이어의 숫자 입력을 받기 위한 임포트
public class UpNDown { // 클래스명은 게임 이름으로
public static void main(String[] args) { // 메인메소드
Random r = new Random(); // 랜덤메소드 객체 선언
Scanner sc = new Scanner(System.in); // 스캐너메소드 객체 선언
int rNum = r.nextInt(1, 100); // 랜덤숫자 변수 선언하며 범위 설정 (1~100) 및 변수 초기화
int playerNum = 0; // 플레이어가 입력할 숫자 변수 선언 및 초기화
int times = 0; // 실행된 횟수를 담을 변수 선언 및 초기화
try { // 잘못된 입력을 걸러내기 위한 명령어
while (true) { // 얼마나 많이 입력할지 모르기 때문에 아래에서 break;문으로 탈출
times++; // 실행된 횟수 증감식
System.out.print("\n1~100 숫자 입력:"); // 안내메시지출력
playerNum = Integer.parseInt(sc.next());// 플레이어입력 변수에 입력된 숫자 대입(이하 플레이어 숫자)
if (rNum == playerNum) { // 만약 랜덤숫자와 플레이어가 입력한 숫자가 같다면
System.out.printf("정답입니다! %d회 만에 맞혔습니다.", times); // 실행된 횟수 출력
break; // while문 탈출
} else if (rNum > playerNum) { // 랜덤 숫자가 플레이어 숫자보다 크다면
System.out.println("UP"); // UP 출력
} else if (rNum < playerNum) { // 랜덤 숫자가 플레이어 숫자보다 작다면
System.out.println("DOWN"); // DOWN 출력
} // if~else문 종료
} // while문 종료
} catch (Exception e) { // 잘못된 입력을 하여 오류를 낸 경우
System.err.println("잘못된 입력입니다. 프로그램을 종료합니다."); // 오류 메시지 출력
}
} // 메인메서드 종료
}
2022年08月01日 15:57
파이썬
import random
num = random.randint(1,100)
number = 0
count = 0
while num != number:
number = int(input("1~100 숫자입력: "))
if num > number:
print("UP")
count = count + 1
if num < number:
print("DOWN")
count = count + 1
print("정답입니다. %d회 만에 맞췄어요." % count)
java
import java.util.Random;
import java.util.*;
public class up_down_game
{
public static void main(String[] args)
{
Random random = new Random();
int random_num = 0; //컴퓨터가 생성하는 랜덤값(정답)
int num = 0; // user가 입력한 값
int count = 1; // 입력횟수
random_num = random.nextInt(99)+1; //1~100
Scanner scanner = new Scanner(System.in);
for (;;)
{
System.out.printf("1~100중 숫자 하나를 입력해주세요");
num = scanner.nextInt();
if (num == random_num)
{
System.out.printf("정답!!!%n");
System.out.printf("횟수: %d", count);
break;
}
if (num > random_num)
{
System.out.printf("Down%n");
count += 1;
}
if (num < random_num)
{
System.out.printf("Up%n");
count += 1;
}
}
}
}
2022年06月21日 23:29
자바로 풀어봤습니다.
import java.util.Scanner;
public class test {
public static void main(String[] args) {
int answer = (int)(Math.random()*100);
Scanner scan = new Scanner(System.in);
int tryData, count=0;
System.out.println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.\n이 숫자를 맞춰주세요.");
while(true) {
System.out.println("1~100 숫자 입력:");
tryData = scan.nextInt();
count++;
if(tryData>answer) {
System.out.println("Down");
}else if(tryData<answer) {
System.out.println("Up");
}else {
break;
}
}
System.out.printf("정답입니다! %d회 만에 맞췄어요.\n", count);
}
}
import java.util.Scanner;
public class CodingStamp_03 {
public static void main(String[] args) {
int correctAnswer = (int)(Math.random()*100 + 1); //컴퓨터가 1~100 숫자(정수 범위) 중 하나를 랜덤으로 정함
int input = 0; //사용자의 입력
int count = 0; //시도 횟수를 기록
Scanner scanner = new Scanner(System.in);
System.out.println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다.");
System.out.println("이 숫자를 맞춰주세요.");
while (input != correctAnswer) {
System.out.println("1~100 숫자 입력: ");
input = scanner.nextInt();
count++;
if (input > correctAnswer) {
System.out.println("DOWN");
} else if (input < correctAnswer) {
System.out.println("UP");
} else {
System.out.println("정답입니다. " + count + "회 만에 맞췄어요.");
break;
}
}
}
}
package section01;
import java.util.Scanner;
public class MathCalc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("1~100 사이에 숫자를 맞춰보세요 : ");
int num = sc.nextInt();
int randomNum = (int)(Math.random() * 100 + 1);
int i = 1;
while(true) {
if(num > randomNum) {
System.out.println("DOWN");
i++;
} else if(num < randomNum) {
System.out.println("UP");
i++;
} else if(num == randomNum) {
System.out.println("정답입니다." + i + "회 만에 맞췄어요.");
break;
}
System.out.println("1~100 사이에 숫자를 맞춰보세요 : ");
num = sc.nextInt();
};
}
}
package org.javaturotials.ex;
import java.util.*;
import java.util.stream.Collectors;
public class test {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int rd = (int)(Math.random()*100 + 1);
int count=0;
while(true) {
int num =sc.nextInt();
if(num<rd) {
System.out.println("UP");
}
else if(num>rd) {
System.out.println("DOWN");
}
else {count++;
break;}
count++;
}
System.out.println("정답입니다. " +count + "회 만에 맞췄습니다." );
}
}
import java.util.Random;
import java.util.Scanner;
public class RandomNumGame {
public static void main(String[] args) {
Random random = new Random();
int answer = random.nextInt(100);
System.out.println(("정답 미리보기: ") + answer);
int input_number;
int repeat_count = 0;
Scanner scan = new Scanner(System.in);
System.out.println("1~100사이의 숫자중 랜덤 숫자를 맞추시오.");
do {
System.out.print("정답: ");
input_number = scan.nextInt();
repeat_count++;
if (input_number > answer) {
System.out.println("더 작은 수를 입력하세요.");
}
if (input_number < answer) {
System.out.println("더 큰 수를 입력하세요.");
}
} while (input_number != answer);
System.out.printf("정답입니다. 총 시도횟수는 %d회 입니다.\n", repeat_count);
}
}
풀이 작성