๐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์ ํด์ค
}
}
}
๐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);
}
}
๐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);
}
}
๐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);
}
}
๐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);
}
}