[๋ฐฑ์ค€] - JAVA[1]

hybiisยท2023๋…„ 3์›” 21์ผ
0

๋ฐฑ์ค€ - JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
2/3

1. [1712] - ์†์ต๋ถ„๊ธฐ์ 

๐Ÿ“–Q1.

๋ฌธ์ œ
์›”๋“œ์ „์ž๋Š” ๋…ธํŠธ๋ถ์„ ์ œ์กฐํ•˜๊ณ  ํŒ๋งคํ•˜๋Š” ํšŒ์‚ฌ์ด๋‹ค. ๋…ธํŠธ๋ถ ํŒ๋งค ๋Œ€์ˆ˜์— ์ƒ๊ด€์—†์ด ๋งค๋…„ ์ž„๋Œ€๋ฃŒ, ์žฌ์‚ฐ์„ธ, ๋ณดํ—˜๋ฃŒ, ๊ธ‰์—ฌ ๋“ฑ A๋งŒ์›์˜ ๊ณ ์ • ๋น„์šฉ์ด ๋“ค๋ฉฐ, ํ•œ ๋Œ€์˜ ๋…ธํŠธ๋ถ์„ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ์—๋Š” ์žฌ๋ฃŒ๋น„์™€ ์ธ๊ฑด๋น„ ๋“ฑ ์ด B๋งŒ์›์˜ ๊ฐ€๋ณ€ ๋น„์šฉ์ด ๋“ ๋‹ค๊ณ  ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด A=1,000, B=70์ด๋ผ๊ณ  ํ•˜์ž. ์ด ๊ฒฝ์šฐ ๋…ธํŠธ๋ถ์„ ํ•œ ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,070๋งŒ์›์ด ๋“ค๋ฉฐ, ์—ด ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,700๋งŒ์›์ด ๋“ ๋‹ค.

๋…ธํŠธ๋ถ ๊ฐ€๊ฒฉ์ด C๋งŒ์›์œผ๋กœ ์ฑ…์ •๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์‚ฐ ๋Œ€์ˆ˜๋ฅผ ๋Š˜๋ ค ๊ฐ€๋‹ค ๋ณด๋ฉด ์–ด๋Š ์ˆœ๊ฐ„ ์ด ์ˆ˜์ž…(ํŒ๋งค๋น„์šฉ)์ด ์ด ๋น„์šฉ(=๊ณ ์ •๋น„์šฉ+๊ฐ€๋ณ€๋น„์šฉ)๋ณด๋‹ค ๋งŽ์•„์ง€๊ฒŒ ๋œ๋‹ค. ์ตœ์ดˆ๋กœ ์ด ์ˆ˜์ž…์ด ์ด ๋น„์šฉ๋ณด๋‹ค ๋งŽ์•„์ ธ ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€์ ์„ ์†์ต๋ถ„๊ธฐ์ (BREAK-EVEN POINT)์ด๋ผ๊ณ  ํ•œ๋‹ค.

A, B, C๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์†์ต๋ถ„๊ธฐ์ ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— A, B, C๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. A, B, C๋Š” 21์–ต ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค.

์ถœ๋ ฅ
์ฒซ ๋ฒˆ์งธ ์ค„์— ์†์ต๋ถ„๊ธฐ์  ์ฆ‰ ์ตœ์ดˆ๋กœ ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š” ํŒ๋งค๋Ÿ‰์„ ์ถœ๋ ฅํ•œ๋‹ค. ์†์ต๋ถ„๊ธฐ์ ์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

โœA1.

import java.util.*;
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(b>=c){
            System.out.println("-1");
        }
        else{
            System.out.println((a/(c-b))+1);
            // a+b*n-c*n<0์˜ ์‹์„ n์˜ ์‹์œผ๋กœ ์“ฐ๋ฉด n=a/(c-b)
            // a/(c-b)๋Š” ์ด ์ˆ˜์ต์ด ๊ฐ™์•„์ง€๋Š” ์ง€์ ์ด์ง€ ์†์ต๋ถ„๊ธฐ์ ์ด ์•„๋‹ˆ๋ฏ€๋กœ +1์„ ํ•ด์คŒ
        }
    }
}

2. [2869] - ๋‹ฌํŒฝ์ด๋Š” ์˜ฌ๋ผ๊ฐ€๊ณ  ์‹ถ๋‹ค

๐Ÿ“–Q2.

๋ฌธ์ œ
๋•… ์œ„์— ๋‹ฌํŒฝ์ด๊ฐ€ ์žˆ๋‹ค. ์ด ๋‹ฌํŒฝ์ด๋Š” ๋†’์ด๊ฐ€ V๋ฏธํ„ฐ์ธ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๋‹ค.

๋‹ฌํŒฝ์ด๋Š” ๋‚ฎ์— A๋ฏธํ„ฐ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐค์— ์ž ์„ ์ž๋Š” ๋™์•ˆ B๋ฏธํ„ฐ ๋ฏธ๋„๋Ÿฌ์ง„๋‹ค. ๋˜, ์ •์ƒ์— ์˜ฌ๋ผ๊ฐ„ ํ›„์—๋Š” ๋ฏธ๋„๋Ÿฌ์ง€์ง€ ์•Š๋Š”๋‹ค.

๋‹ฌํŒฝ์ด๊ฐ€ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ๋ชจ๋‘ ์˜ฌ๋ผ๊ฐ€๋ ค๋ฉด, ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— ์„ธ ์ •์ˆ˜ A, B, V๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์„œ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค B < A โ‰ค V โ‰ค 1,000,000,000)

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ๋‹ฌํŒฝ์ด๊ฐ€ ๋‚˜๋ฌด ๋ง‰๋Œ€๋ฅผ ๋ชจ๋‘ ์˜ฌ๋ผ๊ฐ€๋Š”๋ฐ ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

โœA2.

import java.util.Scanner;
 
public class Main {
 
	public static void main(String[] args) {
 
		Scanner in = new Scanner(System.in);
 
		int a = in.nextInt();		
		int b = in.nextInt();	
		int v = in.nextInt(); 	
 
		int day = (v - b) / (a - b);
        
		if ((v - b) % (a - b) != 0) {
			day++;
		}
		System.out.println(day);
	}
}

โœA2-1. ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ๋‹ค ๋งž๊ฒŒ๋‚˜์˜ค๋Š”๋ฐ ๋ฐฑ์ค€์—์„œ๋Š” ํ‹€๋ ธ๋‹ค๊ณ  ์ฑ„์ ๋œ๋‹ค ใ…œ

import java.util.*;
public class Main {
    public static void main(String[] args) {

        Scanner sc= new Scanner(System.in);

        int v=sc.nextInt();
        int a=sc.nextInt();
        int b=sc.nextInt();
        int answer=0;
        int count=0;

        while(answer<v){
            answer=answer+a;
            count++;
            if(answer<v){
                answer=answer-b;
            }else{
                break;
            }
        }
        System.out.println(count);
    }
}

3. [10870] - ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ 5

๐Ÿ“–Q3.

๋ฌธ์ œ
ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” 0๊ณผ 1๋กœ ์‹œ์ž‘ํ•œ๋‹ค. 0๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” 0์ด๊ณ , 1๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋Š” 1์ด๋‹ค. ๊ทธ ๋‹ค์Œ 2๋ฒˆ์งธ ๋ถ€ํ„ฐ๋Š” ๋ฐ”๋กœ ์•ž ๋‘ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์˜ ํ•ฉ์ด ๋œ๋‹ค.

์ด๋ฅผ ์‹์œผ๋กœ ์จ๋ณด๋ฉด Fn = Fn-1 + Fn-2 (n โ‰ฅ 2)๊ฐ€ ๋œ๋‹ค.
n=17์ผ๋•Œ ๊นŒ์ง€ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ์จ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— n์ด ์ฃผ์–ด์ง„๋‹ค. n์€ 20๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โœA3.

import java.util.*;
public class Main {
    public static void main(String[] args) {

        Scanner sc= new Scanner(System.in);
        int N=sc.nextInt();

        System.out.println(Fibo(N));

    }
     static int Fibo(int N){
        if(N==0) return 0;
        if(N==1) return 1;

        return Fibo(N-1)+Fibo(N-2);
    }
}

4. [1085] - ์ง์‚ฌ๊ฐํ˜•์—์„œ ํƒˆ์ถœ

๐Ÿ“–Q4.

๋ฌธ์ œ
ํ•œ์ˆ˜๋Š” ์ง€๊ธˆ (x, y)์— ์žˆ๋‹ค. ์ง์‚ฌ๊ฐํ˜•์€ ๊ฐ ๋ณ€์ด ์ขŒํ‘œ์ถ•์— ํ‰ํ–‰ํ•˜๊ณ , ์™ผ์ชฝ ์•„๋ž˜ ๊ผญ์ง“์ ์€ (0, 0), ์˜ค๋ฅธ์ชฝ ์œ„ ๊ผญ์ง“์ ์€ (w, h)์— ์žˆ๋‹ค. ์ง์‚ฌ๊ฐํ˜•์˜ ๊ฒฝ๊ณ„์„ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— x, y, w, h๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

โœA4.

import java.util.*;
public class Main {
    public static void main(String[] args) {

        Scanner sc= new Scanner(System.in);
        int x=sc.nextInt();
        int y=sc.nextInt();
        int h=sc.nextInt();
        int w=sc.nextInt();

        int arr[]={x, y, h-x, w-y};

        int min=arr[0];
        for(int i:arr){
            if(min>i){
                min=i;
            }
        }
        System.out.println(min);
    }
}

5. [2609] - ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

๐Ÿ“–Q5.

๋ฌธ์ œ
๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ
์ฒซ์งธ ์ค„์—๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๋‘˜์€ 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ ์‚ฌ์ด์— ํ•œ ์นธ์˜ ๊ณต๋ฐฑ์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ, ๋‘˜์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โœA5.

import java.util.*;
public class Main {
    public static void main(String[] args) {

        Scanner in= new Scanner(System.in);
        int a = in.nextInt();
		int b = in.nextInt();
 
		int d = gcd(a, b);	// ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜
 
		System.out.println(d);
		System.out.println(a * b / d);
 
	}
 
	 
	public static int gcd(int a, int b) {
		if (b == 0)
			return a;
            
		return gcd(b, a % b);
	}
}

profile
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€