https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻�� www.acmicpc.net 전체 유저의 수가 최대 100이기 때문에 O(N^3)인 플로이드 와샬 알고리즘을 이용해 풀이했습니다. C++ 소스 코드 #include #define INF 500000 using namespace std; int d[101][101]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.ti..
https://www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 메모이제이션을 활용해 DP로 풀이하였습니다. C++ 소스 코드 #include #include using namespace std; int cache[61][61][61]; int dp(int s1, int s2, int s3){ if (s1 > n; fill(&cache[0][0][0], &cache[60][60][60]+1,-1); int scv[3] = {0,0,0}; for(int i=0;i> sc..
https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로�� www.acmicpc.net BFS로 풀이하였습니다. visit[x][y][0]은 벽을 하나도 부수지 않고 (x,y)에 도달했을 때의 최단거리, visit[x][y][1]은 벽을 하나 부순 상태에서 (x,y)에 도달했을 때의 최단거리입니다. a[x][y]일 때 이미 벽을 지난 상태 & a[nx][ny] 가 벽일때 : 이동 불가 (wall 과 a[nx][ny]의 합이 2인 경우) a[x][y]일 때..
https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 3차원 BFS로 풀이했습니다. C++ 소스 코드 #include #include #define MAX 101 using namespace std; const int dx[]={0,0,-1,1,0,0}; const int dy[]={-1,1,0,0,0,0}; const int dz[]={0,0,0,0,1,-1}; int a[MAX][MAX][MAX]; struct pos { ..
안녕하세요! 모바일 앱을 이용하다보면 위와 같은 선택 옵션 버튼을 본 적이 있으실텐데요. 선택된 옵션과 선택되지 않은 옵션에 대해 배경색 등으로 차이를 주어 선택한 옵션을 시각적으로 알 수 있는 기능입니다! 오늘은 이와 같은 기능을 구현하기 위해 제가 사용했던 방법을 알려드리겠습니다. 먼저, 첫번째로 시도했던 방법입니다. @IBOutlet var oneWeek: UIButton! //1주 @IBOutlet var oneMonth: UIButton! //1달 @IBOutlet var threeMonth: UIButton! //3달 @IBOutlet var sixMonth: UIButton! //6달 ViewController에 4개의 UIButton을 생성해 주고 IBOutlet으로 각 버튼을 스토리보드에..
https://www.acmicpc.net/problem/11060 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 � www.acmicpc.net 다이나믹 프로그래밍을 이용해 풀이하였습니다. 현재 칸 i에서 갈 수 있는 칸 j까지 최소 점프 횟수를 갱신해줍니다. C++ 소스 코드 #include #include #define MAX 1002 using namespace std; int n; int a[MAX],d[MAX]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout..
https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr BFS를 이용해 풀이하였습니다. 현재 거리에 있는 노드들의 수를 업데이트 해주면서 마지막으로 업데이트 된 노드의 수가 반환됩니다. C++ 소스 코드 #include #include #include #define MAX 20001 using namespace std; bool visited[MAX]; int solution(int n, vector edge) { int answer = 0; vector adj[MAX]; for(int..
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 �� www.acmicpc.net 경로를 압축한 유니온 파인드 알고리즘을 이용해 풀이하였습니다. C++ 소스 코드 #include #define MAX 1000001 using namespace std; int parent[MAX]; int find(int x){ if (x == parent[x]){ return x; } else { int y = find(parent[x]); parent[x..
- Total
- Today
- Yesterday
- 프로그래머스
- Reactivex
- 카카오인턴십
- blendshapes
- Swift weak
- UIHostingController
- boj
- SWEA
- blendshape
- 안드로이드
- SwiftUI
- Kotlin
- DispatchQueue
- Lottie
- cocoapods
- 코코아팟
- infallible
- ARKit
- C++
- 백준온라인저지
- 백준
- GraphDB
- coreml
- Swift
- 알고리즘
- ios
- disposeBag
- rxswift
- rxswift6
- Swift unowned
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |