일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 13172
- 백준 Σ
- 그리디알고리즘
- 모듈로 곱셈 역원
- AIDEEPDIVE
- 백준 시그마 파이썬
- DP
- AI강의
- 혁펜하임강의후기
- 혁펜하임AI
- 수학
- 다이나믹프로그래밍
- 백준 구간 합 구하기 5 파이썬
- 자료구조
- 알고리즘
- 혁펜하임
- 패스트캠퍼스
- 패스트캠퍼스혁펜하임
- 큐
- 백준 시그마
- mysql
- 혁펜하임강의
- 분할 정복
- 백준 구간 합 구하기 5
- 다이나익 프로그래밍
- 구현
- 백준 13172 파이썬
- 분할 정복을 이용한 거듭제곱
- 코딩테스트
- 백준 Σ 파이썬
- Today
- Total
목록Algorithm (28)
MingyuPark
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 리스트를 큐로 사용해서 계산한다. 현재 우선순위가 가장 높은(가장 앞에 있는) 작업의 진도를 본다. 진도가 100이상인 경우 배포할 수 있지만, 그렇지 않은 경우 작업이 더 진행되어야 한다. 따라서 가장 앞에 있는 작업의 진도가 100보다 작은 경우 계속 작업을 진행한다. [95, 90, 99, 99, 80, 99] → [96, 91, 100, 100, 81, 100] → [97, ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 스택/큐 카테고리로 분류되어 있지만 스택이나 큐를 이용하지 않은 방법으로 풀었다. 먼저 모든 작업에 대해서 작업에 소요되는 시간을 계산해서 리스트를 만든다. 입출력 예 #2 기준으로 [5, 10, 1, 1, 20, 1]가 된다. 첫 번째 작업은 기다릴 필요가 없기 때문에 바로 출력할 수 있다. 두 번째 작업은 10일이 걸린다. 따라서 세 번째, 네 번째 작업은 1일밖에 걸리지 않았지..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 DFS로 풀 수 있다. 우선 방문 여부를 나타내는 리스트를 생성한다. (처음에는 모두 False) 그리고 각 컴퓨터에 대해서 dfs를 수행한다. 이 때, dfs 알고리즘를 구성하기 위한 변수는 다음과 같다. - 전체 컴퓨터 수 n - 컴퓨터 간의 연결 여부를 나타내는 리스트 computers - 각 컴퓨터의 방문 여부 visited - 현재 탐색을 진행할 컴퓨터 start 먼저 탐색..
문제 https://www.acmicpc.net/problem/1059 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 아이디어 먼저 입력으로 들어온 집합 S를 정렬해야 한다. 그 다음 집합 S에서 구할 수 있는 모든 구간을 고려한다. 예제 입력 4에서 주어진 3, 7, 12, 18, 25, 100, 33, 1000의 경우를 생각해보자. S = {3, 7, 12, 18, 25, 33, 100, 1000}이기 때문에 좋은 구간의 후보는 [1, 2], [4, 6], [8, 11], [13, 17], [19, 24], [26, 32], [34, 99], [101, 999]라고 생각할 수 있다. (n이 max(S)보다 작거나 ..
문제 https://www.acmicpc.net/problem/1052 1052번: 물병 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번 www.acmicpc.net 아이디어 한 쪽 물병에 담긴 물을 나머지 모두 붓기 때문에 물병에 있는 물은 2의 거듭제곱(2^x) 으로 표현할 수 있다. K개를 넘지 않는 이라는 표현이 핵심이다. 가능하면 x가 큰 물병이 많은 게 좋다는 뜻이다. 1026개의 물병이 있었다고 해보자. 이 때는 2리터짜리 물병 513개보다는 1024리터짜리 물병 하나와 2리터짜리 물병 하나가 좋다는 뜻이다. (그렇다고 무조건 적은 것을 찾는 게 ..
문제 https://www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 아이디어 재귀 호출로 실행하면 시간 초과가 발생한다. 이 경우는 DP를 이용해서 쉽게 해결할 수 있다. a, b, c 3개의 변수를 받기 때문에 3차원 배열을 생성한다. (a, b, c) 중 음수가 있는 경우 1을 반환하고, 모두 20보다 큰 경우 w(20, 20, 20)을 반환하도록 한다. 이 때 재귀적으로 호출하면 w(20, 20, 20)를 구하기 위한 모든 과정을 반복해야 한다. w(a, ..