백준수학1

    [백준, BOJ 1011] Fly to the Alpha Centauri (java)

    출처-https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행�� www.acmicpc.net 참고 https://st-lab.tistory.com/79 https://zorba91.tistory.com/116 import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan..

    [백준, BOJ 2775] 부녀회장이 될테야 (java)

    출처-https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (1

    [백준, BOJ 10250] ACM 호텔 (java)

    출처-https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int t = scan.nextInt(); int room[] = new int[t]; for (int ..

    [백준, BOJ 2869] 달팽이는 올라가고 싶다 (java)

    출처-https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B = v$ $an-bn+b >= v$ $(a-b)n >= v-b$ $n >= (v-b)/(a-b)$ import java.util.*; public class Main { public static void m..

    [백준, BOJ 1193] 분수찾기 (java)

    출처-https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 내 생각 dp1에는 분자를, dp2에는 분모를 저장한다. dp1은 처음에는 1, 다음에는 1부터 2, 3부터 1, 1부터 4, 5부터 1, 1부터 6 ...과 같은 반복 형태를 보인다. dp2는 처음에는 1, 다음에는 3-dp1, 4-dp1, 5-dp1, 6-dp1, 7-dp1이다. 위와 같은 규칙으로 부터 구조를 조건문을 사용하여 구조를 잡았다. 우선 dp1[i]가 1이면(이전 반복에서 1로 끝났다면), dp1은 다시 1부터 n까지가 연속으로 저장된다. 반면 dp1[i]가 1이 아닌 다른 수(2, 4, 6 ...)로 끝났..

    [백준, BOJ 2292] 벌집 (java)

    출처-https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌�� www.acmicpc.net 내 생각 위의 그림에서 각각 다른 색으로 층을 나눠 보았다. 다음 그림을 표로 정리하면 아래와 같다. 층 현재 층의 육각형의 개수 전체 층의 육각형의 개수 1 1 1 2 6 7 3 12 19 4 18 37 5 24 61 ~ ~ ~ 이 표에서 알 수 있는 사실은 각 층은 전의 층보다 6개만큼의 육각형이 더 있다. 각 면에서 하나씩 육각형이 더 생기는 구조이다. 6개의 면에서 하나씩 더 생기므로 층이..

    [백준, BOJ 2839] 설탕 배달 (java)

    출처-https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그�� www.acmicpc.net 내 생각 : 우선 3kg 봉지보다 5kg 봉지가 더 많을 수록 좋다. 하지만 3kg 봉지를 가져가야만 nkg을 맞출 수 있는 경우가 있다. 그래서 남은 kg이 5의 배수가 될 때까지 3을 빼준다. 하지만 3을 계속 빼도 5의 배수가 되지 않고 음수가 되는 경우에는 5와 3으로 n을 만들 수 없는 경우이다. 이럴 경우에는 -1을 출력해준다. import java.util.*; public class ..

    [백준, BOJ 1712] 손익분기점 (java)

    출처-https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 내 생각 : 우선 처음에는 n을 구할 때 while (a+b*n>=c*n) n++; 를 사용해서 n을 구했었다. 이 경우에는 시간 초과가 떴다. 따라서 반복문을 쓰지 않고 n=a/(c-b)+1을 이용해 n을 구했다. 그런데 문제 조건 중에 손익분기점이 존재하지 않으면 -1을 출력한다는 조건을 보지 못했다. 손익분기점이 존재하지 않는 경우는 b가 c보다 같거나 크다면 절대로 손익분기점이 생길 수 없..