백준 47

[백준] 1107번 자바 리모컨

문제 출처 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 주어지며, 같은 버튼이 여러 번 주어지는 경우는 없다. www.acmicpc.net 접근 방식 및 풀이 - 완전탐색 알고리즘을 사용하여 모든 케이스들을 생각해내야 한다. - 조건 1. 100이면 count 0 - 조건 2. 리모콘이 고장 나지 않았으면, 배열의 숫자만큼 또는 리모컨 +- 한 count 중 최소값 - 조건 3. 리모콘이 고장 났으면, 고장난 리모컨으로 누를수 있는 숫자 케이스와 리모..

[백준] 11047번 자바 동전 0

문제 출처 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 접근 방식 및 풀이 - 오름차순으로 되어 있는 동전을 내림차순으로 받기위해 n-1부터 배열에 다시 담음. - k원과 배열의 동전의 금액중 k가 더 크면 나눌수 있다. - 나눠서 몫은 count에 나머지는 k에 다시 넣는다. 소스 코드 import java.io.BufferedReader; import java.io.IOEx..

[백준] 커리큘럼 독학 알고리즘 공부

알고리즘을 공부를 위해 백준에서 문제를 풀어보려고 마음을 먹었다. 집중공부시간을 1달정도 잡고, 안경잡이 개발자 youtube 와 알고리즘 문제풀이(PS) 시작하기 블로그에서 소개해준 커리큘럼을 따라서 진행했다. 문제중에는기초적인 출력문제부터 수열에 관련된 문제등등 수학적 지식이 필요한 문제도 있었다. 알고리즘만 공부할수가 없는 상황이라 하루 평균 2~4시간씩 4주를 목표로 잡고 진행했지만, 실제로 마친건 5주정도 걸린것 같다. 공부 기간 2020.3.2 ~ 2020.4.6 코드 모음 Git 주소 : https://github.com/hanbitlog/studybackjun 커리큘럼 정리 내가 백준님과 참고한 블로그에서도 제시한 공부방법은 하나의 문제는 2시간을 넘기지 않으며 이해가 되지 않으면 다른 블..

[백준] 2875번 자바 대회 or 인턴

문제 출처 https://www.acmicpc.net/problem/2875 2875번: 대회 or 인턴 문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다. 백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다. 여 www.acmicpc.net 접근 방식 및 풀이 - 풀이법에는N,M을 줄여가거나 K를 줄여가며 조건을 체크하는 방법이 있다. - N,M을 줄여가는것..

[백준] 1783번 자바 병든 나이트

문제 출처 https://www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근 방식 및 풀이 - 너무 어렵다... 나중에 다시와서 볼 문제~ - 아래 블로그에.. 자세하게 설명해주신다. https://do-rang.tistory.com/70 백준 #1783 / 병든 나이트 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 128 MB 1260 523 466 41.533% 문제 병든 나이트가 N * M 크기 체스판의 가장 왼쪽아래 칸에 위치해 있다. 병든 나이트는 건강한 보통 체스의 나이트와.. do-rang.t..

[백준] 1744번 자바 수 묶기

문제 출처 https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열 www.acmicpc.net 접근 방식 및 풀이 - Greedy 알고리즘 이용 - 아래 조건을 만족하는 알고리즘 사용 조건 1. 음수* 음수, 양수*양수 ..

[백준] 1992번 자바 쿼드트리

문제 출처 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1≤N ≤64의 범위를 가진다. 두 번째 줄부터는 길이 N 의 문자열이 N 개 들어온다. 각 문자열은 0 또는 1의 숫자로 이루어져 있으며, 영상의 각 점들을 나타낸다. www.acmicpc.net 접근 방식 및 풀이 - 분할 정복 알고리즘을 활용하여 해결. - 문제 자체를 이해하는데 오래걸렸다.. 2*2로 나누고 그안에 원소들이 같은지 체크, 다르면 하나씩 출력하여 준다. 소스 코드 import java.io.BufferedReader; import java.io.IOException; import java...

[백준] 2110번 자바 공유기 설치

문제 출처 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 한 줄에 하나씩 주어진다. www.acmicpc.net 접근 방식 및 풀이 - 이분탐색으로 거리의 절반을 기준으로 집을 찾아갔다. - 오늘도 마이구님의 블로그 참고! https://mygumi.tistory.com/301 백준 2110번 공유기 설치 :: 마이구미 이 글은 백준 알고리즘 2110번 "공유기 설치" 를 풀이한다. 풀이 방법으로는 이분(이진) 탐색을 ..

[백준] 2805번 자바 나무자르기

문제 출처 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따 www.acmicpc.net 접근 방식 및 풀이 - 나무길이에 대한 높이를 계산할때 long타입 지정 - mid에서 +1해 가는 방식이 아니라 이분탐색..

[백준] 1517번 자바 버블정렬

문제 출처 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1≤N≤500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0≤|A[i]|≤1,000,000,000의 범위에 들어있다. www.acmicpc.net 접근 방식 및 풀이 - 문제에 나와 있는대로 버블 소트로 풀었다가 시간초과... - Merge Sort의 count로 해결! - 배열은 long 타입으로 지정! - 참고 블로그 https://redbinalgorithm.tistory.com/m/99 백준 : 1517 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1≤N≤..