코딩도장

업앤다운 UP&Down 숫자맞추기 게임

컴퓨터가 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회 만에 맞췄어요.
조건문 반복문 if while 랜덤모듈 랜덤 random 난수

2021年05月20日 00:32

Katherine

(追記) (追記ここまで)
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

14개의 풀이가 있습니다. 1 / 2 Page

package test02;
import java.util.Scanner;
import java.util.Random;
public class UpAndDown {
 public static void main (String[] args) {
 int i=0;
 int num;
 Scanner scan = new Scanner(System.in);
 Random random = new Random();
 int x = random.nextInt(100);
 do {
 System.out.println("숫자를 입력하세요 : ");
 num = scan.nextInt();
 if (x>num) { System.out.println("UP"); }
 else if (x<num) { System.out.println("DOWN"); }
 i++;
 } 
 while (x!=num);
 System.out.println("정답입니다! "+i+"회 만에 맞췄습니다.");
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
package coding_Test.UP_DOWN_Number;
import java.util.Scanner;
public class main {
 public static void main(String[] args) {
 System.out.println("컴퓨터가 1~100 중 랜덤 숫자 하나를 정합니다. \n이 숫자를 맞춰주세요.");
 int count = 1;
 int num = (int) (Math.random() * 100) + 1;
 Scanner sc = new Scanner(System.in);
 int num_enter = 0;
 while (num != num_enter) {
 System.out.print("1~100 숫자 입력:");
 num_enter = sc.nextInt();
 if (num > num_enter) {
 System.out.println("UP");
 count++;
 } else if (num < num_enter) {
 System.out.println("DOWN");
 count++;
 }
 }
 System.out.println("정답입니다! " + count + "회 만에 맞췄어요.");
 sc.close();
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
package org.Coding.dojang;
import java.util.Random;
import java.util.Scanner;
public class Test3 {
 public static void main(String[] args) {
 Random r = new Random();
 Scanner sc = new Scanner(System.in);
 int up_down = r.nextInt(100)+1;
 int count=0;
 while(true) {
 System.out.print("1~100 숫자 입력 : ");
 int human = sc.nextInt();
 if(up_down>human) {
 System.out.println("UP");
 count++;
 }
 else if(up_down<human) {
 System.out.println("DOWN");
 count++;
 }
 else if(up_down==human) {
 count++;
 System.out.println("GREAT "+count+"회 입력");
 break;
 }
 }
 }
}

2021年09月02日 23:52

이기범

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
static int num = (int) (Math.random() * 100) + 1;
 static int count = 0;
 static boolean onOff = true;
 static String upDown(int x) {
 ++count;
 if (x == num) {
 onOff = false;
 return "정답입니다. " + count + "회 만에 맞췄어요.";
 } else if (x > num) {
 return "Down";
 } else {
 return "Up";
 }
 }
 public static void main(String[] args) {
 Scanner s = new Scanner(System.in);
 System.out.println("1 ~ 100사이 숫자를 입력하세요.");
 while (onOff) {
 System.out.println((upDown(s.nextInt())));
 }
 }

2021年10月24日 18:33

박대현

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
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);
 }
}

2022年02月08日 14:40

이인범

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
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 + "회 만에 맞췄습니다." );
 }
 }

2022年02月22日 21:04

Kkubuck

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
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();
 };
 }
}

2022年02月26日 21:59

sw

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.
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;
 }
 }
 }
}

2022年05月09日 16:49

코숏

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

자바로 풀어봤습니다.

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);
 }
}

2022年06月10日 03:14

유로

댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

파이썬

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;
 }
 }
 }
}
댓글 작성은 로그인이 필요합니다.
(注記) 상대에게 상처를 주기보다 서로에게 도움이 될 수 있는 댓글을 달아 주세요.

풀이 작성

(注記) 풀이작성 안내
  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.
풀이 작성은 로그인이 필요합니다.
목록으로
코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.

random x 2
반복문 x 2
if x 2
조건문 x 1
while x 1
랜덤모듈 x 1
랜덤 x 1
난수 x 1
연관 문제
Dr.Choi, 2024年02月10日 23:17
박준우, 2025年01月07日 21:54
김맹준, 2024年04月18日 23:50

언어별 풀이 현황
전 체 x 99
기 타 x 16
python x 65
java x 14
go x 1
cs x 2
javascript x 1
코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

AltStyle によって変換されたページ (->オリジナル) /