일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경력
- 백준
- 처우산정
- boj #19237 #어른 상어
- softeer
- 연결요소
- OFFSET
- upper_bound
- 6987
- Kafka
- 퇴사통보
- incr
- BFS
- 처우협의
- Docker
- 13908
- dfs
- 소프티어
- 파라메트릭
- 기술면접
- @P0
- msSQL
- 성적평가
- 물채우기
- 이분탐색
- 매개변수탐색
- compose
- BOJ
- 오퍼레터
- 백트래킹
- Today
- Total
목록전체 글 (633)
기술 블로그
https://www.acmicpc.net/problem/1480 dp cache 캐시 다이나믹 동적 계획법 복습 코딩테스트 코테 필수 추천 dynamic boj 백준 정렬 bitmask + dp를 활용하여 문제를 푼다. 주의할 것은 가방의 용량이 조금이라도 남아있다면 해당 가방(idx)을 유치한채 계속 진행하고, 또한, 다음 가방(idx + 1)을 탐색한다. 첫 제출에서는 메모리 초과(배열 범위를 잘못 선언함)가 발생했다. 근데, 36번 째 줄의 i를 idx로 잘못써서 틀렸다가 v를 정렬하여 제출하였더니 맞았다.(맞은게 신기) 여하튼 idx를 i로 고치고, sort를 없애니 정답. 12345678910111213141516171819202122232425262728293031323334353637383..
https://www.acmicpc.net/problem/2033 수학 구현 floor ceil round 반올림 올림 내림 팁 Tip 개념 생각 암기 복습 코테 코딩테스트 stoi 올림피아드 math원래 숫자 = n 1의 자리에서 반올림 : ((n + 5) / 10) * 1010의 자리에서 반올림 : ((n + 50) / 100) * 100100의 자리에서 반올림 : ((n + 500) / 1000) * 1000... 12345678910111213141516171819202122232425262728293031#include using namespace std; string s; /*1의 자리 반올림 : +5 → /10 → *1010의 자리 반올림 : +50 → /100 → *100*/ int mai..
https://www.acmicpc.net/problem/1020 boj 복습 필수 추천 코테 코딩 다이나믹 동적 계획 난이도 : 상 분류 : DP, 구현
공부LCA0-1 BFS트라이세그먼트 트리 lazy propagation 복습네트워크 플로우MCMF이분 매칭세그먼트 트리
https://www.acmicpc.net/problem/2891 '자신'의 카약은 빌려줄 수 없고, '여분'의 카약만 빌려줄 수 있다. 우선 1로 세팅하고, (본인의 카약) 부서진 카약의 팀은 1을 감소시키고, (0으로 변함) 여분이 있는 팀은 1을 증가시킨다. (2 또는 1로 변함) 그리고 for(1 ~ n)문을 통해서 해당 i팀이 가지고 있는 카약의 개수가 0일 때 i - 1, i + 1, i == n 위의 3가지 경우를 고려해준다. 1. i - 1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, i - 1번 째 팀에게 하나 빌린다.2. i +1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, i + 1번 째 팀에게 하나 빌린다.3. n - 1번 째 팀이 가지고 있는 카약의 개수가 2 일 때, ..
https://www.acmicpc.net/problem/18859 onjo0127님의 반례 덕분에 맞았다. 61 2 3 4 7 10정답 : Yes예시 : 3 2 1 4 7 10 아이디어 : multiset을 통해 vector sort를 활용한다. 입력을 통해 multiset과 vector에 데이터를 넣는다.(입력으로 주어지는 것들) vector v를 오름차순 sort를 한 후, 공차(d)를 구한다. d = v[1] - v[0]; 그리고, multiset을 통해 어떤 한 수열을 구한다. 구하는 방식은 Start = v[0] + d를 놓고, Start += d를 해주면서 multiset에 Start가 있으면 multiset에서 제거해준다. 즉, 공차가 d인 수열은 모두 제거된 것이다.(첫 원소(v[0])는..
https://programmers.co.kr/learn/courses/30/lessons/60062 카카오 kakao 백트래킹 BruteForce 브루트포스 기출 복습 구현 필수 추천 코테 코딩 프로그래머스 2020 KAKAO BLIND RECRUITMENT 처음에 bitmask + dp로 풀려다가 인덱스를 몇 차원으로 해야할지 무엇으로 구성해야할지 헷갈려서 그냥 Backtracing으로 접근하였다. 핵심은 모든 경우의 수(조합)에 대하여 vector v를 구성한다. 그리구, 구성한 vector v에 대하여 또 다시 weak에서 출발점을 달리하여 새로운 weak(temp)를 구성한다.(temp = 새로운 weak) 예시) weak = {3, 5, 7, 9}, n = 12라고 하고, 출발점을 7로 한다면..
https://www.acmicpc.net/problem/17281 삼성 boj 백준 SW역량테스트 시뮬레이션 구현 simulation 복습 필수 코딩 테스트 코테 추천 생각 논리 야구 시간초과 벡터 처음에는 문제의 예제 3과 4를 이해하기 어려웠다. 핵심은 1. 직접 경기를 뛰는 타자의 '치는 순서'(선수의 번호가 아니다.)는 이닝이 바뀌어도 그 순서(치는 순서)는 유지한다. 2. 0번 선수는 3번 자리로 고정되어 있다.(문제에서는 1 ~ 9번 이지만, 0 ~ 8번으로 구현하였다.) 3. vector보다는 일반 배열이 훨씬 빠르다. 위의 3가지만 주의하면 풀 수 있다. 나는 첫 번째 제출에서 시간 초과를 받았다. 그 후 vector를 일반 배열로 바꾸어 제출하였더니 맞았다. vector의 연산은 느리기..