ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.