목차 Greedy Algorithm [Java+Python]11047번, 동전 0 [Java+Python]1931번, 회의실 배정 [Java+Python]11339번, ATM [Java+Python]13305번, 주유소 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다...
목차 Greedy Algorithm [Java+Python]11047번, 동전 0 [Java+Python]1931번, 회의실 배정 [Java+Python]1541번, 잃어버린 괄호 [Java+Python]13305번, 주유소 문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 $P_i$분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈..
목차 Greedy Algorithm [Java+Python]11047번, 동전 0 [Java+Python]11339번, ATM [Java+Python]1541번, 잃어버린 괄호 [Java+Python]13305번, 주유소 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 $N$개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회..
목차 누적 합 [Java+Python]11659번, 구간 합 구하기 4 [Java+Python]2559번, 수열 [Java+Python]10986번, 나머지 합 [Java+Python]11660번, 구간 합 구하기 5 [Java+Python]25682번, 체스판 다시 칠하기 2 문제 승재는 인간-컴퓨터 상호작용에서 생체공학 설계를 공부하다가 키보드 자판이 실용적인지 궁금해졌다. 이를 알아보기 위해 승재는 다음과 같은 생각을 했다. '문자열에서 특정 알파벳이 몇 번 나타나는지 알아봐서 자주 나타나는 알파벳이 중지나 검지 위치에 오는 알파벳인지 확인하면 실용적인지 확인할 수 있을 것이다.' 승재를 도와 특정 문자열 $S$, 특정 알파벳 $\alpha$와 문자열의 구간 $[l, r]$이 주어지면 $S$의 $l..
목차 Greedy Algorithm [Java+Python]1931번, 회의실 배정 [Java+Python]11339번, ATM [Java+Python]1541번, 잃어버린 괄호 [Java+Python]13305번, 주유소 문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 $A_i$가 오름차순으로 주어진다. ($1 ≤ A_i ≤ 1,000,000$, $A_1 = 1$, $i ≥ 2$인 경우에 $A_i$는 $A_..
목차 누적 합 [Java+Python]11659번, 구간 합 구하기 4 [Java+Python]2559번, 수열 [Java+Python]16139번, 인간-컴퓨터 상호작용 [Java+Python]10986번, 나머지 합 [Java+Python]11660번, 구간 합 구하기 5 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 K×K 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 ..
목차 누적 합 [Java+Python]11659번, 구간 합 구하기 4 [Java+Python]2559번, 수열 [Java+Python]16139번, 인간-컴퓨터 상호작용 [Java+Python]10986번, 나머지 합 [Java+Python]25682번, 체스판 다시 칠하기 2 문제 N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다. 표에 채워져 있는 수와 합을 구하는 연산이 주..
목차 누적 합 [Java+Python]11659번, 구간 합 구하기 4 [Java+Python]2559번, 수열 [Java+Python]16139번, 인간-컴퓨터 상호작용 [Java+Python]11660번, 구간 합 구하기 5 [Java+Python]25682번, 체스판 다시 칠하기 2 문제 수 $N$개 $A_1, A_2, ..., A_N$이 주어진다. 이때, 연속된 부분 구간의 합이 $M$으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, $A_i + ... + A_j (i ≤ j)$ 의 합이 $M$으로 나누어 떨어지는 $(i, j)$ 쌍의 개수를 구해야 한다. 입력 첫째 줄에 $N$과 $M$이 주어진다. $(1 ≤ N ≤ 106, 2 ≤ M ≤ 103)$ 둘째 줄에 $N$개의 수..
목차 문제 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 일부 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다. 나머지 빈칸을 채우는 방식은 다음과 같다. 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 굵은 선으로 구분되어 있는 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 위의 예의 경우, 첫째 줄에는 1을 제외한 나머지 2부터 9까지의 숫자들이 이미 나타나 있으므로 첫째 줄 빈칸에는 1이 들어가야 한다. 또한 위쪽 가운데 위치한 3x3 정사각형..
목차 Variable Arguments 가변인자는 JDK 1.5부터 도입된 개념이다. 이름 그대로 개수가 동적으로 변하는 인자를 처리하기 위한 기능이다. 가변인자가 도입되기 전까지는 배열을 사용했다고 하며, 현재도 내부적으로는 배열로 처리되고 배열로 다룰 수 있다고 한다. 사용하는 방법은 매개변수의 타입 뒤에 '...'을 붙여서 표시하며, 이상의 주요 특징을 요약하면 아래와 같다. 개수가 변하는 인자를 메서드의 매개변수로 전달 가능 메서드 내부에서는 배열로 처리되므로 유사하게 다룰 수 있음 필요에 따라 다른 매개변수와 함께 사용하는 것도 가능 나는 이제야 경험해 보았지만 코드의 가독성이 좋아지고 작성이 제법 간결해진다. 얼른 익숙해져서 마음껏 사용해야 하는데... Example 가장 간단한 예는 아래와 ..
- Total
- Today
- Yesterday
- Python
- 야경
- a6000
- 맛집
- 칼이사
- 백준
- 스트림
- 스프링
- 남미
- 자바
- 세모
- 지지
- 면접 준비
- 세계여행
- Backjoon
- 리스트
- spring
- 알고리즘
- RX100M5
- 유럽여행
- 기술면접
- 동적계획법
- 파이썬
- java
- BOJ
- 세계일주
- 여행
- Algorithm
- 유럽
- 중남미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |