일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 수학
- 위상정렬
- 문자열
- 스택
- 그리디
- CS
- 시뮬레이션
- 백준
- 세그먼트 트리
- 완전탐색
- Kotlin
- java
- 투 포인터
- 알고리즘
- 백트래킹
- swea
- 동적계획법
- mst
- Network
- 플로이드-와샬
- 후니의 쉽게 쓴 시스코 네트워킹
- 에라토스테네스의 체
- BFS
- Effective Java
- 유니온 파인드
- 이분탐색
- dfs
- 프로그래머스
- 구현
- JUnit 5
목록전체 글 (291)
반갑습니다!
2605번: 줄 세우기 www.acmicpc.net 풀이 list와 iterator를 사용해서 문제를 해결했다. 코드 #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; list l; for (int i = 0; i > tmp; auto it = l.end(); while (tmp > 0) { tmp--; it--; } l.insert(it, i + 1); } for (int i : l) cout
16486번: 운동장 한 바퀴 www.acmicpc.net 풀이 수학을 이용해서 푸는 문제이다. 운동장의 둘레는 원의 둘레 + 사각형의 가로 변 길이의 합이 된다. 코드 #include using namespace std; const float PI = 3.141592; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int d1, d2; cin >> d1; cin >> d2; cout
2669번: 직사각형 네개의 합집합의 면적 구하기 www.acmicpc.net 풀이 여러 개의 사각형이 겹쳐질 수 있기 때문에 100 x 100 bool 배열을 생성해서 사각형 범위만큼 true로 바꿔준 뒤, 총 true의 갯수를 세는 방식으로 해결했다. 코드 #include using namespace std; bool board[101][101]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); for (int t = 0; t > x1 >> y1 >> x2 >> y2; for (int i = y1; i < y2; i++) for (int j = x1; j < x2..
1495번: 기타리스트 www.acmicpc.net 풀이 동적계획법 문제이다. 이차원배열 dp[i][j]에서 i번째 곡의 볼륨 j가 가능한지를 체크해주는 방식으로 해결했다. 코드 #include using namespace std; int n, s, m; int v[100]; bool dp[100][1001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> s >> m; for (int i = 0; i > v[i]; if (s + v[0] = 0) dp[0][s - v[0]] = true; for (int i = 1; i < n; i++) { for (int j = 0; j
2740번: 행렬 곱셈 www.acmicpc.net 풀이 [프로그래머스] 행렬의 곱셈과 동일한 문제이다. 코드 #include #include using namespace std; int n1, n2, m1, m2; vector arr1, arr2; void solve() { int n = arr1.size(), m = arr2[0].size(); vector result(n, vector(m)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int sum = 0; for (int k = 0; k < arr1[i].size(); k++) { sum += (arr1[i][k] * arr2[k][j]); } result[i][j] = sum; }..