![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cdYEEZ/btsmqKQam0p/hXf0h65LZ1dlZAEKhH6YT1/img.png)
목차 문제 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와 같이 제일 왼쪽 위 지점에서 출발하여 제일 오른쪽 아래 지점까지 항상 내리막길로만 이동하는 경로의 개수를 구하는 프로그램을 작성하시오. 입력..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/21fPl/btsl1JDXsEz/OD1JTLu1JIAjDiBzWvyfD0/img.png)
목차 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경우를 생각해 보자. AB를 먼저 곱하고 C를 곱하는 경우 (AB)C에 필요한 곱셈 연산의 수는 5×3×2 + 5×2×6 = 30 + 60 = 90번이다. BC를 먼저 곱하고 A를 곱하는 경우 A(BC)에 필요한 곱셈 연산의 수는 3×2×6 + 5×3×6 = 36 + 90 = 126번이다. 같은 곱셈이지만, 곱셈을 하는 순서에 따라서 곱셈 연산의 수가 달라진다. 행렬 N개의 크기가 주어졌을 때, 모..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bCsRzC/btsl0WiCnWY/iH8nAoTKpSleK7SnZKMS3K/img.png)
목차 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰인 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일을 만든다. 이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고, 이 임시파일이나 원래의 파일을 계속 두 개씩 합쳐서 소설의 여러 장들이 연속이 되도록 파일을 합쳐나가고, 최종적으로는 하나의 파일로 합친다. 두 개의 파일을 합칠 때 필요한 비용(시간 등)이 두 파일 크기의 합이라고 가정할 때, 최종적인 한 개의 파일을 완성하는데 필요한 비용의 총합을 계산하시오. 예를 들어, C1, C2, C3, C4가 연속적인 네 개의 장을 수록하고 있는 파일이고, 파일 크기가 각각 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cb9C97/btslgg157td/m3c2qcCWWFfYnfTo2B8oW1/img.png)
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50}인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50}이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 $A_i$가 주어진다. ($1 ≤ A_i ≤ 1,000,000$) ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/biFAcR/btsk9dlLtkY/Xv9ytv2vPzsn74eJm4wXBK/img.png)
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 $10^5$보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min($10^9, N^2$) 보다 작거나 같은 자연수..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/PezxC/btskhcnkmOQ/CNlf6d0RDOjNvZMa9ZVLT0/img.png)
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2805번, K번째 수 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 $x_1, ..., x_N$이고, 집 여러 개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c5DG7f/btskgdtapdN/kiyYHIUmuz4sR6Vqr5FCv0/img.png)
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할 것이다. 목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그다음, 한 줄에 연속해 있는 나무를..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cmyrH0/btskhB1fM7u/edBarf8cmp0ejKz4jhN321/img.png)
목차 이진 탐색 [Java+Python]1920번, 수 찾기 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/v0bna/btsjTwfNnXK/5dh9mLrK020xYsZGFRxmh1/img.png)
목차 이진 탐색 [Java+Python]1654번, 랜선 자르기 [Java+Python]2805번, 나무 자르기 [Java+Python]2110번, 공유기 설치 [Java+Python]2805번, K번째 수 [Java+Python]12015번, 가장 긴 증가하는 부분 수열 2 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cfrqBD/btsjPJk6YUk/JixrCWTo6ilCt70HAVc7Z1/img.png)
목차 분할 정복 단계 [Java+Python]2630번, 색종이 만들기 [Java+Python]1992번, 쿼드 트리 [Java+Python]1780번, 종이의 개수 [Java+Python]1629번, 곱셈 [Java+Python]11401번, 이항 계수 3 [Java+Python]2740번, 행렬 곱셈 [Java+Python]10830번, 행렬 제곱 [Java+Python]11444번, 피보나치 수 6 문제 히스토그램은 직사각형 여러 개가 아래쪽으로 정렬되어 있는 도형이다. 각 직사각형은 같은 너비를 가지고 있지만, 높이는 서로 다를 수도 있다. 예를 들어, 아래 그림은 높이가 2, 1, 4, 5, 1, 3, 3이고 너비가 1인 직사각형으로 이루어진 히스토그램이다. 히스토그램에서 가장 넓이가 큰 직사각..
- Total
- Today
- Yesterday
- 면접 준비
- 유럽여행
- 스프링
- 스트림
- 맛집
- 중남미
- java
- Algorithm
- 남미
- 기술면접
- 야경
- 유럽
- 파이썬
- 동적계획법
- 알고리즘
- Backjoon
- Python
- 칼이사
- RX100M5
- 세계여행
- 세계일주
- BOJ
- 지지
- 여행
- 세모
- a6000
- 자바
- 리스트
- 백준
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |