Problem Solving/BOJ 17

[BOJ] 1450 냅색문제

https://www.acmicpc.net/problem/1450 1450번: 냅색문제 첫째 줄에 N과 C가 주어진다. N은 30보다 작거나 같은 자연수이고, C는 10^9보다 작거나 같은 음이아닌 정수이고. 둘째 줄에 물건의 무게가 주어진다. 무게도 10^9보다 작거나 같은 자연수이다. www.acmicpc.net 문제 제목과 어울리지 않는 풀이 방법을 가진 문제인 것 같다.. ㅋㅋㅋ 냅색이라고 해서, DP를 써야하나 했지만 전혀 아니었고 mitm(meet in the middle) 문제였다. 일단 한번 나이브하게 생각해보자. 먼저, 그냥 모든 경우를 탐색하면 되지 않을까 라는 생각을 하게 된다. 하지만 N이 최대 30이므로 최대 2^30 경우의 수를 탐색해봐야 하고, 이는 대략 10억 정도이기 떄문에..

Problem Solving/BOJ 2021.09.05

[BOJ] 1105: 팔

www.acmicpc.net/problem/1105 1105번: 팔 첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 길게 설명할 문제는 아닌듯하다. 1. 두 숫자의 길이가 같은가? 아니라면 8이 아예없는 숫자가 무조건 가능하다. 2. 두 숫자의 길이가 같다면, 앞에서부터 숫자들이 같을 때까지만 탐색하고, 같은 숫자가 8인 경우의 수를 구하면 된다. 이건 아이디어도 쉬운 편이니 코드는 남기지 않겠다.

Problem Solving/BOJ 2020.09.13

[BOJ] tag: minimum enclosing circle

엄청 오랜만에 글을 올리게 되었다. 여러 프로젝트, 업무, 공부를 하다보니 글을 쓰는 걸 되게 뒤로 미루었던 것 같다. 일단, 이번에는 최소 외접원 문제에 대해서 다루어 보려한다. 먼저 관련 문제 목록부터 보겠다. www.acmicpc.net/problem/13708 13708번: 모든 점을 포함하는 원 첫째 줄에 점 N (2 ≤ N ≤ 300)이 주어진다. 둘째 줄부터 N개의 줄에 점의 좌표 x, y가 주어진다. (0 ≤ x, y ≤ 1,000) www.acmicpc.net www.acmicpc.net/problem/2389 2389번: 세상의 중심에서... 첫째 줄에 N(1≤N≤100)이 주어진다. 다음 N개의 줄에는 x, y 좌표가 주어진다. 각각의 좌표는 소수점 여섯째자리까지 주어지며, -600,..

Problem Solving/BOJ 2020.09.13

[BOJ] 9449: Garage

정말 오랜만에 풀이네요.. 문제 소개 solved.ac 브론즈 3티어문제입니다. 문제 링크 https://www.acmicpc.net/problem/9449 9449번: Garage The only line contains four integers: W, H, w, h — dimensions of sandlot and garage in meters. You may assume that 1 ≤ w ≤ W ≤ 30 000 and 1 ≤ h ≤ H ≤ 30 000. www.acmicpc.net 아이디어 브론즈 3티어 문제인만큼 되게 쉬웠습니다. 단지, 조금은 재미있는 아이디어인 것 같아서 남겨봅니다. 일단 이 문제는 최소, 최대를 어떻게 조정해야 할지가 가장 관건입니다. 최소여야하는 것은 배치할 차고의 개수입..

Problem Solving/BOJ 2020.07.17

[BOJ] 18868, 18869 :: 멀티버스Ⅰ, 멀티버스Ⅱ

문제 소개 2020.04.11 기준, solved.ac 브론즈 1티어, 실버 1티어 문제입니다. 바로 이전 글인 좌표 압축을 이용하는 문제입니다. 2020/04/11 - [Problem Solving/BOJ] - [BOJ] 18870: 좌표 압축 문제 링크 https://www.acmicpc.net/problem/18868 18868번: 멀티버스 Ⅰ M개의 우주가 있고, 각 우주에는 1부터 N까지 번호가 매겨진 행성이 N개 있다. 행성의 크기를 알고 있을때, 균등한 우주의 쌍이 몇 개인지 구해보려고 한다. 구성이 같은데 순서만 다른 우주의 쌍은 한 번만 센다. 두 우주 A와 B가 있고, 우주 A에 있는 행성의 크기는 A1, A2, ..., AN, 우주 B에 있는 행성의 크기는 B1, B2, ..., BN..

Problem Solving/BOJ 2020.04.11

[BOJ] 18870: 좌표 압축

문제 소개 2020.04.11 기준, solved.ac 실버 2티어 문제입니다. 문제 제목 그대로 좌표 압축을 하는 문제입니다. 좌표 압축은 사실 map 혹은 dictionary (언어에 따라 다름) 등을 알면 쉬운 문제입니다. 문제 링크 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. www.acmicpc.net 아이디어 이 문제는 정말 친절하게도, 제..

Problem Solving/BOJ 2020.04.11

[BOJ] 9372: 상근이의 여행

문제 소개 2020.03.30 기준, solved.ac 실버 3티어 문제입니다. 솔직히 최근에 푼 문제 중에 제일 어이가 없었던 문제입니다. 주의, 이 문제는 아이디어를 보면 스포가 됩니다. 문제 링크 https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 문제 상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다. 이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 도시들을 여행할 수 있도록 도와주자. 상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도)..

Problem Solving/BOJ 2020.03.30

[BOJ] 2981: 검문

문제 소개 2020.03.27 기준, solved.ac 실버 1티어 문제입니다. 문제 번호가 낮고 예전에 만들어진 문제여서 많은 분들이 풀이를 올리신 것 같지만 끄적여봅니다. 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/2981 2981번: 검문 문제 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간을 때우기 위해서 수학 게임을 하기로 했다. 먼저 근처에 보이는 숫자 N개를 종이에 적는다. 그 다음, 종이에 적은 수를 M으로 나누었을 때, 나머지가 모두 같게 되는 M을 모두 찾으..

Problem Solving/BOJ 2020.03.27

[BOJ] 17404: RGB거리 2

문제 소개 오랜만에 문제 풀이입니다. 2020.03.27 기준, solved.ac 골드 4티어 문제입니다. 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 같은 자연수이다. www.acmicpc.net 아이디어 처음에는 어떻게 접근할까 잘 생각이 안나서 조금 다른분들 풀이를 찾아봤습니다. 근데, 찾아보다가 그냥 3차원인듯 3차원 아닌 DP로 풀면 되잖아! 하면서 ..

Problem Solving/BOJ 2020.03.27

[BOJ] 1527: 금민수의 개수

문제 소개 2020.03.22 기준, 실버 1티어 문제입니다. 원래 골드 5티어 문제였는데, 제가 실버 1을 부여하면서 바뀌었습니다. (골드 5티어라고 하기엔 너무 쉬운 BFS 문제입니다.) 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/1527 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 아이디어 문제에서 제한되는 범위는 1부터 1,000,000,000 까지입니다. 만약 이 범위를 일일이 탐색한다면, TLE가 ..

Problem Solving/BOJ 2020.03.22