본문 바로가기

전체보기66

[백준 17103] 골드바흐 파티션 - 자바 https://www.acmicpc.net/problem/17103 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다. www.acmicpc.net 1. 풀이 골드바흐의 추측과 거의 똑같은 문제이다. 주의 할 점은 두 소수의 순서만 다른 것은 같은 파티션으로 본다는 것이다. 우선, 에라토스테네스의 체를 이용해 MAX까지 소수를 구하고 나서, 두 소수의 순서가 바뀐 것은 count해주지 않으면 된다. a와 b가 N을 구성하는 소수라면, a를 N/2이하까지만 탐색하면 된다. 즉, N이 10이라면, 10의 1/2인 5까지만 탐색을 해주면 된다. 그 .. 2020. 5. 1.
자바 비행기 게임 만들어보기 #1 자바를 배우고, 한번도 나만의 프로젝트를 해본 적이 없다. 즉, 처음부터 내가 모든 것을 설계하고, 코드를 짜본적이 없다는 것이다. 자바 공부를 하고는 있는데, 문득 뭔가 정체되있다는 기분이 들었다. 여러 개발 블로그에 동기부여를 받아, 나의 첫번째 사이드 프로젝트를 시작해보려고 한다. '시작이 반이다'라는 말이 있지 않은가?? 오늘부터 꾸준히 집중해서 만들어 보려고 한다. 모든 코드는 Github에 공유 할 생각이다. 틀린 개념이나 비효율적인 부분이 많을 것입니다. 여러 문제점에 대한 댓글 환영합니다~ 주제 1945같은 2D로 된 비행기 게임을 구현할 예정이다. Unity를 쓰지않고, 자바의 GUI를 사용할 예정이다. 이루고자 하는 목표 자바 익숙해지기 ( 클래스, 스레드 등등 ) 객체지향 설계해보기 .. 2020. 4. 30.
[백준 17087] 숨바꼭질 6 - 자바 https://www.acmicpc.net/problem/17087 17087번: 숨바꼭질 6 수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이동할 수 있다. 수빈이의 위치가 동생이 있는 위치와 같으면, 동생을 찾았다고 한다. 모든 동생을 찾기위해 D의 값을 정하려고 한다. 가능한 D의 최댓값을 구해보자. www.acmicpc.net 1. 풀이 수빈이와 동생의 거리들의 최대공약수를 구하는 문제. 수빈이는 이동을 X+D, X-D로만 가능하고, 하나의 D로 모든 동생을 찾아야 한다. 이 문제는 수빈이와 모든 동생들의 거리를 구한 다음, 거.. 2020. 4. 30.
[백준 9613] GCD 합 - 자바 https://www.acmicpc.net/problem/9613 9613번: GCD 합 문제 양의 정수 n개가 주어졌을 때, 가능한 모든 쌍의 GCD의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진다. 입력으로 주어지는 수는 1,000,000을 넘지 않는다. 출력 각 테스트 케이스마다 가능한 모든 쌍의 GCD의 합을 출력한다. 예제 www.acmicpc.net 1. 풀이 입력 값들을 받고 입력 값들끼리 반복문을 돌면서 두 개씩 짝을 지어 GCD(최소공배수)를 구해서 다 더해주면 되는 문제입니다.. 2020. 4. 30.
[백준 1676] 팩토리얼 0의 개수 - 자바 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 풀이 뒤에 0이 되려면 10을 곱해주면 된다. 즉 5 x 2인데, 2의 배수는 5의 배수보다 무조건 많거나 같으므로 5의 배수만을 찾아주면 된다. 주의 할 점은 500 이하의 5의 배수중 25와 125는 5가 2번씩 들어가므로, 각각 2번, 3번씩 더해줘야한다. 2. 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in).. 2020. 4. 30.
[백준 6588] 골드바흐의 추측 https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다. 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모 www.acmicpc.net 1. 풀이 문제는 이해했지만, 풀이에 대해서 모호한 상태였는데 백준 강의를 통해 알게되서 정리한다. ( 갓 백준! ) 우선, 골드.. 2020. 4. 28.