본문 바로가기

JAVA/Practice Q

(19)
Q. BestNum // 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. // • 예를 들어 02984라는 문자열로 만들 수 있는 가장 큰 수는 // ((((0 + 2) × 9) × 8) × 4) = 576입니다. String N = "0010122"; int n = Integer.parseInt(N); int div = 1; for( ; n > 0 ; n /= 10) { div *= 10; } System.out.println(div); n = Integer.parseInt(N); int result = 0; for(int targetN = 0 ; div > 1 ; n%=(div/10), div/=10 ) { targetN = n/(div/10); System.out.println(targetN + "앞부터 자..
Q. clock // 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 // 모든 경우의 수를 구하는 프로그램을 작성하세요. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되 // 어 있으므로 세어야 하는 시각입니다. // • 00시 00분 03초 // • 00시 13분 30초 int N = 12; int count = 0; for(int hour = 0 ; hour
Q. N K // 1. N에서 1을 뺍니다. // 2. N을 K로 나눕니다. // N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 // 최소 횟수를 구하는 프로그램을 작성하세요. // // 입력 조건 : 1
Q. 거스름돈 Q. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원,10원짜리 동전이 무한히 존재 // 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하세요. // 단, 거슬러 줘야 할 돈 N은 항상 10의 배수입니다. int N = 1270; int count = 0; while(N > 0) { if(N - 500 > 0) { N -= 500; count++; }else if(N - 100 > 0) { N -= 100; count++; }else if(N - 50 > 0) { N -= 50; count++; }else { N -= 10; count++; } } System.out.println(count);
Q. 반복문을 이용하여 369게임에서 박수를 쳐야 하는 경우의 수를 순서대로 화면에 출력해보자 // while int x = 1;// 나중에 숫자바꿔서 할 수 있도록 그냥 x++로하자 while(x 0) { if(y % 10 == 3 || y % 10 == 6 || y % 10 == 9) { count++; } y /= 10; } if(count == 1) { System.out.println(x + "박수 한번"); }else if(count == 2) { System.out.println(x + "박수 두번"); } x++; } // for for(int x = 0 ; x 0 ; y/= 10) { if(y % 10 == 3 || y % 10 == 6 || y % 10 == 9) { count++; } } if(count == 1) { System.out.println(x + "박수 한번"); ..
Q.1~10000사이에 8이 몇번 나오는가? // while int x = 1; int count = 0; while(x 0) { if(y % 10 == 8) { count++; } y /= 10; } x++; } System.out.println(count); // for int count = 0; for(int x = 1 ; x 0 ; y/= 10) { if(y % 10 == 8) { count++; } } } System.out.println(count);
Q. int타입의 변수 num 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라. (no API) // for int num = 12345; int sum = 0; for( ; num > 0 ; num/=10) { sum += num%10; } System.out.println(sum); // while int num = 12345; int sum = 0; while(num > 0) { sum += num%10; num /= 10; } System.out.println(sum);
Q15. 2~100사이의 소수를 구해보자 // 소수인지 확인하는 코드부터 해보자 System.out.println("===== 소수 확인 코드====="); boolean isPrime = true;// 소수면 true, 소수가 아니면 false int y = 17; for(int x = 2 ; x < y ; x++) { if(y % x == 0) { isPrime = false; break; } } if(isPrime == false) { System.out.println("소수 아님"); }else { System.out.println("소수임"); } // 방법01. System.out.println("=======방법01======"); boolean isPrime2 = true; for (int i = 2 ; i