-
11 ~ 20번java codingtest 2022. 10. 23. 16:00
11번 사분면 고르기
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a=scan.nextInt(); int b=scan.nextInt(); if (a > 0 && b > 0) { System.out.println("1"); }else if (a < 0 && b > 0){ System.out.println("2"); }else if (a < 0 && b < 0){ System.out.println("3"); }else if (a > 0 && b < 0){ System.out.println("4"); } } }
12번 알람시계
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a=scan.nextInt(); int b=scan.nextInt(); if (b < 45) { a -= 1; b = 60 - (45 - b); if (a < 0) { a = 23; } System.out.println(a + " " + b); } else { System.out.println(a + " " + (b - 45)); } } }
해설 ) 분은 60분까지밖에 없으므로 if문 안에 b = 60임을 인지시켜줘야 된다. 만약 45분보다 많으면 b - 45로 되지만 45분보다 작다면 60에서 45 - b를 빼줘야 된다.
a도 -1을 해주어야 된다. if 문 안에서 if문으로 a는 최대 23인 것을 인지시킨다.
if문 안에서 a > 23으로 해도 될 것 같지만, 00시에서 -가 되었을 때 23시가 되어야 되는데 단순히 -로 나오기 때문에 불가능하다.
13번
훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a=scan.nextInt(); int b=scan.nextInt(); int c=scan.nextInt(); //1시간은 60분이기에 c분에 60을 나눠서 나온 몫과 나머지를 각 시, 분애 합산 a += c / 60; b += c % 60; //분이 60분이상이면 a시에 1시간 추가 후 B분에서 60분 뺴기 if (b > 59) { a += 1; b -= 60; } //하루는 24시간이기에 a시가 24 이상이면 a에서 24 빼기 if (a > 23) { a -= 24; } System.out.println(a + " " + b); } }
14번
3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.
3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); if(a == b && a == c && b == c) { System.out.print(10000+(a*1000)); } else if(a == b || a == c) { System.out.print(1000+(a*100)); } else if(b == c) { System.out.print(1000+(b*100)); } else { System.out.print((Math.max(a, Math.max(b, c))*100)); } } }
Math.max 메소드는 2가지밖에 들어가지 않으므로 두번 생성하였다.
15번 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스마다 A+B를 출력한다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); for(int i=1; i<a+1; i++) { int a1 = sc.nextInt(); int a2 = sc.nextInt(); System.out.println(a1 + a2); } } }
16번 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int sum = 0; for(int i=1; i<a+1; i++) { sum += i; } System.out.println(sum); } }
17번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); for(int i=1; i<=a; i++) { int b = scan.nextInt(); int c = scan.nextInt(); System.out.println("Case #" + i + ": " + (b+c)); } } }
18번 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); for(int i=1; i<=a; i++) { for(int j=1; j<=i; j++) { System.out.print("*"); } System.out.println(); } } }
print와 println의 개념 확실히 알기!
19번 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); for(int i=1; i<=a; i++) { for(int j=a; j>0; j--) { if(j > i) { System.out.print(" "); }else { System.out.print("*"); } } System.out.println(""); } } }
print와 println의 개념 확실히 알기!
20번 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 마지막 0 0을 입력하면 동작 중지
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while(true) { int a = scan.nextInt(); int b = scan.nextInt(); if(a == 0 && b ==0) break; System.out.println(a+b); } } }
'java codingtest' 카테고리의 다른 글
21 ~ 30번 (0) 2022.10.27 1~10번 (0) 2022.10.23