본문 바로가기

Java/실습

[Java] 제곱수 판별하기 Q . 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.  이클립스에는 제곱근을 Math.sqrt를 이용해서 구할 수 있습니다. n의 제곱근을 구하려면 Math.sqrt(n);이렇게 사용하면됩니다. 제곱수인지는 어떻게 판별할까요? 제곱수가 아니라면 public class ex {public static void main(String[] args) { System.out.println(Math.sqrt(15));}} 이렇게 출력했을 때  3.872983346207417 이런값이 나옵니다. 이것을 정수형으로 변환하면 3이됩니다. 따라서 제곱수를 구하려면 제곱수끼리 곱했을 때.. 더보기
[Java] 주사위 게임 이번 시간에는 주사위 게임을 만들어보도록 하겠습니다. 지금까지 한 실습 중 가장 복잡했는데요. 게임의 요구 사항을 먼저 살펴보겠습니다. ========================================================주사위 게임 (main함수만 사용) 유저랑 컴퓨터 각각 주사위 3개를 굴려서 그 합이 높은 숫자가 나온 쪽이 이기는 게임 1번 메뉴 :  유저와 컴퓨터는 각각 주사위 3개씩 굴릴 것! 유저는 굴린 주사위의 값을 확인한 후 (주사위의 합까지) 돈을 배팅할 수 있게 해서 이기면 그 돈만큼 따고, 지면 잃게 됨 소지금보다는 많이 배팅할 수 없고, 기본 소지금 10000원 시작 한 판 끝나면 재도전 의사를 물을 것 no -> 메뉴 소지금 다 잃으면 메뉴로 돌아가기 2번 메뉴 : .. 더보기
[Java] 로또 오늘은 로또 프로그램을 만드는 실습을 해보겠습니다. 함수를 사용해서 만들건데  6개 번호를 로또 번호로 설정하고 사용자에게 6개의 번호를 입력받아서 결과에 따라서 당첨 여부를 출력해주는 프로그램입니다. 이때 로또 번호는 중복을 제거하려고 합니다.    코드를 살펴볼까요? 먼저 로또번호를 설정해야겠습니다.public static int[] getLotto() { Random r = new Random(); int arr[] = new int[6]; a : while(true) { for(int i = 0; i arr.length; i ++) { arr[i] = r.nextInt(45) + 1; } 먼저 랜덤한 번호 6개를 배열에 넣습니다.   Arrays.sort(arr);  중복을 확인하기 위해 배열을 .. 더보기
[Java] 가위 바위 보 이번에는 가위바위보 게임을 구현해보겠습니다. 사용자가 콘솔창에 1을 입력하면 가위, 2를 입력하면 바위, 3을 입력하면 보로 인식하여 컴퓨터의 임의의 가위바위보랑 비교하여 컴퓨터에게 한 번 질때까지의 연승 결과를 출력하는 프로그램입니다. 이번에는 함수를 사용해서 구현해보겠습니다.   public static int getRSP() { Scanner sc = new Scanner(System.in); System.out.println("================="); System.out.println("1.가위 2.바위 3.보"); System.out.println("================="); int rsc = sc.nextInt(); return rsc; } 먼저 입력받는 함수를 하나 .. 더보기
[Java] 배스킨라빈스 31게임 배스킨라빈스 31게임을 아시나요? 이번시간에는 그 게임을 코딩으로 구현해보겠습니다. 먼저 1번을 입력 받으면 게임을 시작합니다. 유저부터 수를 입력받고 컴퓨터는 랜덤한 정수 1~3까지 돌려 진행시켜서 최종적으로 31이 나오면 지게됩니다. 2번을 입력 받으면 게임의 전적이 보여지고 3번을 입력 받으면 종료됩니다. option :while(true) {System.out.println("============================");System.out.println("1.게임 시작 2. 전적 확인 3. 종료");System.out.println("============================");int option = sc.nextInt(); 먼저 무한 반복을 걸어주고 옵션을 입력받습니다. 옵.. 더보기
[Java] 거스름돈 환전 오늘은 예제 실습 문제를 많이 풀어볼 것 같습니다. 먼저 거스름돈 환전 문제를 풀어보겠습니다. 물건의 값과 지불한 돈을 입력받고 거스름돈을 출력할건데 거스름돈을 한국 원화 단위로 나눠서 출력하려고 합니다. 최대한 함수를 사용해서 풀어보겠습니다.  //50000: 최적의 상태로 몇개씩 주어야 할지//10000:// 5000:// 1000:// 500:// 100:// 50:// 10://나머지..    public static int inputPrice(){ Scanner sc = new Scanner(System.in); System.out.println("물건 가격을 입력하세요 : "); int n = sc.nextInt(); return n; } public static int outputMoney(.. 더보기
[Java] 문자 제거하기 Q. 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.  문자열에 있는 문자를 제거하려면 어떻게 해야할까요? Java에는 문자를 다른 문자로 바꿔주는 replace기능이 있습니다. 따라서 replace로 해당 문자를 공백으로 바꿔주면  해당 문자가 없어지게 됩니다. class Solution { public String solution(String my_string, String letter) { return my_string.replace(letter, "");}}  string에 있는 replace기능을 활용한 프로그래머스 문제였습니다. 더보기
[Java] 세균 증식 Q. 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간  후 세균의 수를 return하도록 solution 함수를 완성해주세요.  답을 설계를 해보면 처음 세균 n에 2제곱을 t만큼 한 값을 곱해야합니다. 자바에서 제곱은 Math.pow 기능을 사용해서 구할 수 있습니다.  public static int solution(int n, int t) { return n * (int)Math.pow(2, t); // 2의 t 제곱을 계산한 후 n과 곱해줌 } 이렇게 사용하면 2의 t제곱을 구한 값을 구할 수 있습니다.  public static void main(String[] args) { System.out.println(solutio.. 더보기