일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 퇴사통보
- softeer
- 처우협의
- @P0
- dfs
- compose
- 처우산정
- 연결요소
- 소프티어
- 매개변수탐색
- 백준
- 물채우기
- 기술면접
- 13908
- 성적평가
- 이분탐색
- BFS
- 백트래킹
- msSQL
- upper_bound
- 파라메트릭
- incr
- boj #19237 #어른 상어
- Kafka
- 경력
- 오퍼레터
- OFFSET
- BOJ
- Docker
- 6987
- Today
- Total
목록전체 글 (629)
기술 블로그
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가지의 색깔로 모든 ..
정식 알고리즘 명칭 : 플로이드 와샬 알고리즘 제출하였는데 계속 100%에서 틀렸다고 나오길래 생각해보니, 조건을 생각 못 했었다. 60번 째 줄 코드 비용은 100,000하고 같거나 작은 수이다.즉, 시작 도시에서 끝 도시로 갈 때에 비용이 100,000 초과가 된다면, 갈 수 없는 경우이므로 0을 출력해야한다. https://www.acmicpc.net/problem/11404 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869#include #include #include #include #define INF 987654..
C언어의 에서 제공하는 퀵 정렬 함수이다. 최악 : O(N^2)보통 : O(NlogN) 12345678910111213141516171819202122232425262728293031#include #include #include #include // 오름차순으로 정렬할 때 사용하는 비교함수int static compare(const void* first, const void* second){ if (*(int*)first > *(int*)second) return 1; // 내림차순은 -1 else if (*(int*)first
C언어 구현 처음엔 먼저 나이를 퀵 정렬만 하고, 출력했으나 계속 같은 나이일 때, 이름 순서가 바뀌었다. 그래서, 따로 구현했던 Swap 함수 내에서 첫 번째로 바로 같은 나이이면 return 해줬는데도 바뀌었다. 그런데, 잘 생각해보니 나이에도 조건이 있고, 사람 수에도 조건이 있다. 그래서 생각을 해보니, 따로 정렬 알고리즘을 사용할 필요가 없었다. https://www.acmicpc.net/problem/10814 12345678910111213141516171819202122232425262728293031323334353637383940414243#include #include #include #include typedef struct oj{ int age; char name[102];}oj;..
p[1][1]에 1을 넣어주고, 계산을 하면 된다. a b a+b 이런 구조이다. https://www.acmicpc.net/problem/15489 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include #include #include #include #include #include #include #include using namespace std; int p[31][31] = { 0, }; int R = 0, C = 0, W = 0; int main(void){ scanf("%d %d %d", &R, &C, &W); memset(p, 0, sizeof(p)); p[1][1] = 1; ..