일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ProGuard
- Hilt
- Compose
- Gradle
- 쿠링
- activity
- androidStudio
- 코루틴
- boj
- 백준
- Python
- architecture
- AWS
- TEST
- GitHub
- Coroutine
- Rxjava
- MyVoca
- MiTweet
- textfield
- android
- Coroutines
- 프로그래머스
- pandas
- livedata
- relay
- Codeforces
- 코드포스
- Kotlin
- 암호학
- Today
- Total
목록분류 전체보기 (381)
이동식 저장소

2263번: 트리의 순회 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 트리의 순회 방법에는 크게 세 가지가 있다. 순회 방법을 구분하는 방법은 루트를 언제 방문하는지 구분하는 것이다. 1. 전위 순회(preorder): 루트 방문→왼쪽 서브 트리 방문→오른쪽 서브 트리 방문 2. 중위 순회(inorder): 왼쪽 서브 트리 방문→루트 방문→오른쪽 서브 트리 방문 3. 후위 순회(postorder): 왼쪽 서브 트리 방문→오른쪽 서브 트리 방문→루트 방문 중위 순회, 후위 순회한 결과가 각각 주어질 때, 전위 순회를 수행해 보자. 우리는 중위 순회와 후위 순회로부터..

13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 www.acmicpc.net 수빈이가 동생을 찾는 '숨바꼭질' 시리즈의 3번째 문제이다. 여기서 수빈이는 걷거나 순간이동을 할 수 있는데, 걸으면 1초, 순간이동하면 0초의 시간이 걸린다. 이게 진짜 순간이동이지 그렇다. 이 ..

재미있는 카드놀이~ 11062번: 카드 게임 문제 근우와 명우는 재미있는 카드 게임을 하고 있다. N개의 카드가 일렬로 놓여 있다. 각 카드에는 점수가 적혀있다. 근우부터 시작하여 번갈아가면서 턴이 진행되는데 한 턴에는 가장 왼쪽에 있는 카드나 가장 오른쪽에 있는 카드를 가져갈 수 있다. 카드가 더 이상 남아있지 않을 때까지 턴은 반복된다. 게임의 점수는 자신이 가져간 카드에 적힌 수의 합이다. 근우와 명우는 서로 자신의 점수를 가장 높이기 위해 최선의 전략으로 게임에 임한다. 놓여있는 카드의 개수 www.acmicpc.net 카드 N개가 일렬로 놓여 있다. 근우와 명우가 번갈아가며 카드를 집으려 한다. 양 끝에 있는 카드만 집을 수 있으며, 집은 카드에 적힌 수만큼 자신의 점수가 증가한다. 근우와 명우..

이거 하나 푸느라 4일동안 다른 생각을 못 했다. 지금의 나는 이 정도인 것 같다. ㅠㅠ 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주어진다. 이는 A번 문제는 B번 문제보다 먼저 푸는 것이 좋다는 의미이다. 항상 문제를 모두 풀 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 가장 쉬운 문제부터 가장 어려운 문제까지 푸는데, '먼저 풀면 좋은 문제'를 고려해야 한다. 제일 먼저 떠오른 해결책은 dfs였다. 1번 문제부터 차례대로 '먼저 풀면 좋은 문제'를 난이도 순으로 모두 푼 다음 본 ..

LCS를 아시는 분 또는 9251. LCS 문제를 푸신 분들만 이 글을 읽으시기 바랍니다. 문자열 3개의 Longest Common Subsequence를 구하는 문제이다. Substring이 아님에 주의하자. 문자열 2개의 LCS는 DP를 적용하여 해결할 수 있다. 두 문자열 A와 B에 대해 다음과 같이 정의되는 dp 배열을 채우면 A와 B의 LCS와 그 길이를 구할 수 있다. if A[i] == B[j]: dp[i][j] = dp[i - 1][j - 1] + 1 else: dp[i][j] = max(dp[i][j - 1], dp[i - 1][j]) 풀어서 설명해 보면 다음과 같다. 이것이 왜 성립하는지는 알고 있을 것이다. 1) A[i] == B[j] → (LCS의 길이) = (i와 j 이전까지의 L..