일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Gradle
- relay
- android
- boj
- 쿠링
- 코드포스
- AWS
- Hilt
- 백준
- 프로그래머스
- Codeforces
- pandas
- textfield
- Kotlin
- ProGuard
- 코루틴
- Coroutines
- androidStudio
- Compose
- architecture
- MiTweet
- 암호학
- TEST
- GitHub
- Python
- activity
- livedata
- Coroutine
- Rxjava
- MyVoca
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bATLYr/btqBr7PTTEF/B9wAorz5rvQ82DkAxSnvV0/img.png)
재미있는 카드놀이~ 11062번: 카드 게임 문제 근우와 명우는 재미있는 카드 게임을 하고 있다. N개의 카드가 일렬로 놓여 있다. 각 카드에는 점수가 적혀있다. 근우부터 시작하여 번갈아가면서 턴이 진행되는데 한 턴에는 가장 왼쪽에 있는 카드나 가장 오른쪽에 있는 카드를 가져갈 수 있다. 카드가 더 이상 남아있지 않을 때까지 턴은 반복된다. 게임의 점수는 자신이 가져간 카드에 적힌 수의 합이다. 근우와 명우는 서로 자신의 점수를 가장 높이기 위해 최선의 전략으로 게임에 임한다. 놓여있는 카드의 개수 www.acmicpc.net 카드 N개가 일렬로 놓여 있다. 근우와 명우가 번갈아가며 카드를 집으려 한다. 양 끝에 있는 카드만 집을 수 있으며, 집은 카드에 적힌 수만큼 자신의 점수가 증가한다. 근우와 명우..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rCq92/btqBoNYPgly/S4kssxKhPl3s3MOASnjkK0/img.png)
이거 하나 푸느라 4일동안 다른 생각을 못 했다. 지금의 나는 이 정도인 것 같다. ㅠㅠ 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주어진다. 이는 A번 문제는 B번 문제보다 먼저 푸는 것이 좋다는 의미이다. 항상 문제를 모두 풀 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 가장 쉬운 문제부터 가장 어려운 문제까지 푸는데, '먼저 풀면 좋은 문제'를 고려해야 한다. 제일 먼저 떠오른 해결책은 dfs였다. 1번 문제부터 차례대로 '먼저 풀면 좋은 문제'를 난이도 순으로 모두 푼 다음 본 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OYiSB/btqBjCcMRzC/tviZ3ZGfVBPY97nfQWhQOK/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPXHdQ/btqBcxQEjWs/9yU0Bd68rn5mvXFHqhUu81/img.png)
오늘은 새로운 걸 배우는 것보다 생각을 하는 시간이 될 겁니다. 마치 이 블로그 주소처럼 말입니다. 데이터 분석의 첫 번째 과정은 데이터를 얻는 것으로부터 시작됩니다. 물론 우리의 예측 불가능한 세상에서 내가 원하는 대로 데이터를 얻을 수 있다는 보장은 없습니다. 예를 들어 내 방의 온도를 10분 간격으로 측정하는데, 데이터가 한두 개 정도 빠질 수도 있고, 이것이 전혀 이상한 일이 아니라는 것이죠. 물론 이러한 경우 말고도 데이터에 관한 다양한 이슈가 있지만, 어쨌든 raw data 그 자체로 데이터를 분석하기란 참 어렵습니다. 그래서 우리는 데이터를 가공해야 합니다. 데이터 가공에 대한 몇 가지 이슈를 소개하자면 다음과 같습니다. - 특정 데이터의 범위가 매우 커서, y값에 미치는 영향이 다른 변수보..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bagioX/btqA6EnyUBv/eq8AHmhSnVJGkfG1f8qnU1/img.png)
matplotlib는 데이터를 시각화하여 보여주는 Python 라이브러리입니다. 다양한 형태의 그래프를 지원하며, Pandas와도 연동되기 때문에 알아두면 좋겠죠? pip install matplotlib matplotlib는 pyplot이라는 객체에 데이터를 쌓은 후, 그래프로 flush하는 방법으로 데이터를 보여줍니다. 이 글에서는 pyplot 대신 plt라는 축약어를 사용하도록 하겠습니다. import import matplotlib.pyplot as plt 선형 그래프 그려보기 가장 간단한 이차함수인 y=x^2를 그려 봅시다. x = range(100) y = [val**2 for val in x] plt.plot(x, y) plt.show() x는 1부터 100까지의 정수, y는 그러한 정수의 ..