일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- boj #19237 #어른 상어
- BFS
- compose
- 백트래킹
- dfs
- Kafka
- 6987
- 백준
- BOJ
- softeer
- 소프티어
- 처우산정
- 처우협의
- upper_bound
- 퇴사통보
- @P0
- 이분탐색
- 기술면접
- 13908
- msSQL
- Docker
- 물채우기
- incr
- OFFSET
- 연결요소
- 경력
- 성적평가
- 오퍼레터
- 매개변수탐색
- 파라메트릭
- Today
- Total
목록알고리즘 문제/BOJ (413)
기술 블로그
https://www.acmicpc.net/problem/18870boj lower_bound 이분 탐색 정렬 후에 중복된 값을 제거하고, 이분 탐색을 통해 개수를 셈해주면 된다. 123456789101112131415161718192021222324252627282930313233#include using namespace std; int n;vector v, vc; int main(){ //freopen("C:\\Users\\park7\\Desktop\\buba.in.6", "r", stdin); cin.tie(0); scanf("%d", &n); v.assign(n, 0); for (int i = 0; i
https://www.acmicpc.net/problem/10999 세그먼트 트리 with Lazy Propagation https://www.acmicpc.net/blog/view/26 https://bowbowbow.tistory.com/4 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103#include using namespace std; #define LL long long vector v,..
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/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://www.acmicpc.net/problem/17281 삼성 boj 백준 SW역량테스트 시뮬레이션 구현 simulation 복습 필수 코딩 테스트 코테 추천 생각 논리 야구 시간초과 벡터 처음에는 문제의 예제 3과 4를 이해하기 어려웠다. 핵심은 1. 직접 경기를 뛰는 타자의 '치는 순서'(선수의 번호가 아니다.)는 이닝이 바뀌어도 그 순서(치는 순서)는 유지한다. 2. 0번 선수는 3번 자리로 고정되어 있다.(문제에서는 1 ~ 9번 이지만, 0 ~ 8번으로 구현하였다.) 3. vector보다는 일반 배열이 훨씬 빠르다. 위의 3가지만 주의하면 풀 수 있다. 나는 첫 번째 제출에서 시간 초과를 받았다. 그 후 vector를 일반 배열로 바꾸어 제출하였더니 맞았다. vector의 연산은 느리기..
https://www.acmicpc.net/problem/6236 이분 탐색 ps 파라메트릭 서치 이진 탐색 복습 코딩 코테 추천 필수 생각 문제 이해 처음에 문제를 잘 이해하지 못 했다. 문제에서 요구하는 것(정답)은 무조건 통장에서 K원만 인출한다. 그리고, 그 K원을 가지고 입력으로 주어지는 하루에 사용할 금액과 비교한다. 그렇게 계속 계속 사용하다가 어느 순간 돈이 모자를 때에는 남은 돈(내 코드에서의 money)은 무시하고, 다시 K원을 인출한다. 인출할 때마다 인출 횟수(cnt)를 1 증가시킨다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#i..