목차 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 정사각형..
파이썬으로 알고리즘을 풀다가 enumerate()라는 내장함수를 만나게 되었다. 이 함수의 역할은 순회 가능한(iterable) 객체(리스트, 튜플, 문자열 등)를 입력받아 인덱스와 해당 요소를 동시에 포함하는 iterator를 반환한다. 이를 이용해 반복문에서 인덱스와 요소를 동시에 다룰 수 있으며, 필요하다면 딕셔너리와 같은 자료형으로 매핑할 수도 있다. 바로 코드로 예를 들어보자. fruits = ['apple', 'banana', 'orange'] # 리스트의 인덱스와 값을 출력 for index, fruit in enumerate(fruits): print(index, fruit) 0 apple 1 banana 2 orange 시작 인덱스를 0이 아닌 1로 지정하는 것도 가능하다. fruits ..
- Total
- Today
- Yesterday
- 세모
- Python
- 세계일주
- java
- 맛집
- 기술면접
- 남미
- Algorithm
- 세계여행
- 스프링
- 면접 준비
- 스트림
- 백준
- 지지
- 유럽여행
- 동적계획법
- 파이썬
- 리스트
- 야경
- Backjoon
- 칼이사
- BOJ
- a6000
- 알고리즘
- 유럽
- 중남미
- spring
- 여행
- RX100M5
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |