일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 연결요소
- dfs
- BFS
- 매개변수탐색
- 소프티어
- incr
- 13908
- Kafka
- upper_bound
- compose
- softeer
- 퇴사통보
- 백트래킹
- 물채우기
- boj #19237 #어른 상어
- Docker
- 파라메트릭
- 기술면접
- 처우협의
- BOJ
- 성적평가
- 이분탐색
- @P0
- msSQL
- OFFSET
- 백준
- 오퍼레터
- 처우산정
- 6987
- 경력
- Today
- Total
목록전체 글 (633)
기술 블로그
문제 저작권상 간략하게 올린다. (0, 0)에서 출발하여 (7, 7)로 도달할 수 있는가?단, 0은 벽, 1은 좌우 이동 가능, 2는 상하 이동 가능, 3은 상우 이동 가능, 4는 좌하 이동 가능이다. ※ 알게된 것2차원 격자에서 두 방향으로만 이동 가능한 이런 문제는 DFS/BFS를 굳이 안 써도, 대부분 반복문만으로 해결 가능하다. (물론 우회나 퇴보는 불가능) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include #include #include #include #include #include #include #i..
자연수를 뒤집는 알고리즘이다. 예) 283 → 382 1234567891011121314151617181920212223242526272829303132333435#include #include #include #include #include #include #include #include using namespace std; int Reverse(int n){ int Before = n; int New = 0; while (Before) { New = (New * 10) + (Before % 10); Before = Before / 10; } return New;} int main(void){ int N = 0; scanf("%d", &N); printf("%d\n", Reverse(N)); retur..
소수 문제이다. 에라토스테네스의 체를 활용한 문제이다. 문제 : https://www.acmicpc.net/problem/4948 에라토스테네스의 체 : http://hsdevelopment.tistory.com/78 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include #include #include #include #include #include #include #include using namespace std; #define MAX 2 * 123456 + 1 bool prime[MAX] = { true, }; void primeNumber() // 소수..
소수 찾기 최적화 알고리즘이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475#include #include #include #include #include #include using namespace std; // 도움되고 참고한 사이트 → http://marobiana.tistory.com/91 void getChe(int num){ int *arr; arr = (int *)malloc(sizeof(int) * num); // Dynamic allocation for (int i = 2; i
C언어로 구현하고 싶어서 처음에는 C언어로 구현하였었는데,시간 초과가 떴다. 분명 로직상 오류가 없었던 것 같아서, C++로 구현하였더니, 바로 통과가 떴다. 아마 C언어로 구현한 퀵 정렬에서 시간을 많이 소비해서 그런 듯 하다. right, left 위치 찾아가는 부분 때문인 듯 하다. https://www.acmicpc.net/problem/11652 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657#include #include #include #include #include #include #include #include using namespace std; ..
나는 2가지 풀이 방법으로 풀었다. 1. 무식하게 구현(완전 탐색, 브루트 포스)2. BFS https://www.acmicpc.net/problem/2839 12345678910111213141516171819202122232425262728293031323334353637#include #include #include #include #include #include #include #include using namespace std; int main(void){ int N = 0; scanf("%d", &N); int sum = 987654321; for (int x = 0; x = 0 && !visit[weight - 5]) { q.push(weight - 5); visit[weight - 5] =..
단순히 사각형의 넓이를 index로 계산하려고 하면 꼬여버리는 복잡한 문제가 될 수 있다. 하지만, 쉽게 푸는 방법이 있는데 100*100 칸에 칠해져 있는 칸의 개수만 세면 되는 방법이다. https://www.acmicpc.net/problem/2563 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include #include #include #include #include #include #include #include using namespace std; bool map[101][101] = { false, }; int N = 0; vo..
C언어 인접행렬로 구현하였다가, 메모리 초과가 떴다.아마 C언어 인접행렬로 푸는 방법이 있을텐데, 나는 찾지 못 하였다. 그래서, C++과 C언어 이중 연결리스트로 풀었다. 또한, C언어 이중 연결리스트로 풀다가 처음에 시간 초과가 떴다. 이유는 내가 이중 연결리스트 삽입할 때에, 정렬된 순서로 삽입하려고 하니 초과가 난 것이다. 그래서, 그냥 삽입될 위치를 안 찾고, 첫 위치에 삽입하게 하니 통과 되었다. 예) 정점 2에 3 5 4 1 순서로 삽입할 경우시간 초과 : Graph[2] -> 1 -> 3 -> 4 -> 5 정답 : Graph[2] -> 3 -> 5 -> 4 -> 1 이분 그래프→ 서로 인접해 있는 노드들을 색깔로 표현했을 때, 서로 다른 색깔인 Graph 형태. 즉, 2가지의 색깔로 모든 ..