일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Problem Solving
- JavaScript
- Bitmask
- Baekjoon Online Judge
- Container
- Dynamic Programming
- 메모리제한
- 수학
- 프로그래밍 경진대회
- 비트마스크
- DP
- openstack
- Cloud
- github
- C++
- MongoDB
- 알고리즘
- NOVA
- Python
- 도커
- BOJ
- 오픈스택
- 컨테이너
- BFS
- 브루트포스
- 곱셈의 역원
- 나머지 연산
- 동적계획법
- 문제풀이
- docker
- Today
- 80
- Total
- 26,841
목록알고리즘/문제 풀이 (26)
Joonas' Note
링크: https://www.acmicpc.net/problem/16236문제매번 어떤 물고기를 먹어야 할 때, 현재 위치를 중심으로 BFS를 한다.조건에 만족하는 물고기가 있다면 가장 위, 가장 왼쪽에 있는 물고기를 고른 후 그 위치로 이동한다.현재 아기 상어의 크기는 물고기를 먹은 양만 알면 크기를 알 수 있기 때문에 미리 구해서 사용했다. (먹을 때마다 갱신해도 상관없음)코드
링크: https://www.acmicpc.net/problem/16235문제시뮬레이션여름과 겨울은 양분을 더하는 것밖에 영향을 안 미치기 때문에 같이 처리할 수 있다.링크드리스트로 정렬된 상태 유지 + 나무 개수를 압축하여 표현나무의 개수를 압축해도 수명이 끝난 나무를 확인하는 것 때문에 시간복잡도는 거의 변화가 없어서 고민이 많았는 데, 항상 크기가 1인 나무들이 생기므로 링크드리스트의 앞과 뒤만 잘 관리하면 된다는 것을 Nad..
링크: https://www.acmicpc.net/problem/11058출력 결과에 영향을 미치는 연산이 A를 그냥 누르는 거랑(+1), Ctrl-V (+복사했던 크기) 인데 클립보드에 복사해놓은 크기때문에 재귀로 짜는데 애를 먹었다.복사한 크기만큼 늘어나기 때문에, Ctrl-V 를 하기 위해서는 이전에 Ctrl-A, Ctrl-C 가 꼭 필요하다.문제에 적힌 연산을 순서대로 A, S, C, V 라고 한다면 \(N=6\)인 경우는 아래와 같..
링크: https://www.acmicpc.net/problem/1509문제\(dp[i]\) = \(i\)번째 위치에서 가능한 팰린드롬 분할의 최소 개수\(isPaline[i][j]\) = \(i~j\) 가 팰린드롬인지 여부예제에도 끼워져있지만 AABDBADD 와 같은 경우의 처리때문에 여러 경우를 탐색해야한다. 이것을 분할하는 경우는 아래와 같다.A - A - B - D - B - A - D - DA - A - B - D - B - A -..
링크: https://www.acmicpc.net/problem/3079코드
[이전 블로그]에서 글 옮김 링크: https://www.acmicpc.net/problem/1766풀이처음에는 문제의 접근 방향을 후위순회처럼 생각했다. 어떤 x번째를 하기 위해서 그 이전것을 무조건 해결해야하는 방식.틀리고 나서 문제를 다시 이해했는데, 깨달은 테스트 케이스부터 말하자면 아래와 같다.5 3 4 1 2 3 5 3 내가 생각한 이 입력의 정답은 아래와 같다.2 4 1 5 3 1번보다 4번을 먼저 풀어야하고, 3번보다 2, ..
링크: https://www.acmicpc.net/problem/13701문제BOJ 15719 - 중복된 숫자를 비트로 해결하는 풀이와 같다. 엄밀히 말하면 이 문제가 더 먼저 만들어졌다.정확히 같은 풀이이므로 링크로 대체한다.다른 점이 있다면, 표현할 수의 범위가 \(2^{25}\)가 최대이므로 32비트 정수 배열의 크기가 \(2^{25}~/~32=1~048~576\)이면 된다.코드
링크: https://www.acmicpc.net/problem/15719문제자료형의 비트를 이용하여 배열을 압축하여 사용하는 방법과, 수학으로 푸는 2가지 풀이를 소개하려 한다.풀이 1 (비트)표현할 정수의 범위는 [0, 10000000]이다. 그리고 필요한 정보는 각 숫자들이 사용되었는가/아닌가 이다.사용되지 않았다면 0, 사용되었다면 1로 표현한다면 숫자 하나의 사용 여부를 하나의 비트로 관리할 수 있다.즉,..
링크: https://www.acmicpc.net/problem/15683문제모든 조합을 살피고 시뮬레이션을 할 수 있어야 하는 문제. CCTV가 보고 있는 방향을 하나씩 선택하면서, 모든 방향이 결정됐을 때 시뮬레이션 후 사각 지대의 개수를 구한다.모든 조합을 살피다가 사각 지대의 개수가 최소가 되는 조합에서 정답을 출력하면 된다. CCTV의 방향을 처리하는 시뮬레이션이 벽에서 막힌다거나 지도 밖으로 넘어가는 것 외에도..