일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경력
- incr
- upper_bound
- OFFSET
- 연결요소
- 오퍼레터
- 기술면접
- 매개변수탐색
- boj #19237 #어른 상어
- msSQL
- 소프티어
- 백준
- dfs
- 13908
- 처우협의
- @P0
- BOJ
- Kafka
- 퇴사통보
- 백트래킹
- 성적평가
- compose
- BFS
- 물채우기
- softeer
- 이분탐색
- Docker
- 파라메트릭
- 6987
- 처우산정
- Today
- Total
목록전체 글 (633)
기술 블로그
https://www.acmicpc.net/problem/10804 주어진 인덱스 범위 안에서 내림차순 하는 줄로 착각했다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include #include #include #include #include #include #include #include #include #include using namespace std; vector v; void change(int left, int right){ while (1) { swap(v.at(left), v.at(right)); ++left; --right; if (left >= right)..
https://www.acmicpc.net/problem/2503 처음에 어떻게 접근해야할까 고민을 했다. 숫자 야구의 게임 원리를 잘(?) 알면 쉽게 푸는 문제였다. 예를 들어, 123 1 1을 입력 받았을 때, 123과 100~999를 서로 비교하여, strike 개수와 ball 개수가 다르면 false 처리해주면 된다. 어차피 100 ~ 999 중에 정답이 무조건 있고, 100 ~ 999의 각 숫자들의 정답에 대한 strike 개수와 ball 개수는 123의 정답에 대한 strike 개수(1)와 ball 개수(1)가 같다. 다시 말해, 123 1 1은 정답과의 비교를 통한 확실한 정보이기 때문이다. 예)123 1 1 일 때.324와 123을 비교한다. 일단 strike = 1임을 바로 알 수 있다...
맨 마지막 원소를 삭제할 때만 주의하면 된다. v.end()가 아니라 v.end() - 1이다. 단, insert 할 때, 맨 마지막 끝에 삽입 할 때에는 v.end()이다. vector의 insert와 erase를 활용한 문제도 풀어보자.(물론 다른 방법의 풀이도 있다.)문제 : https://www.acmicpc.net/problem/1021정답 : http://hsdevelopment.tistory.com/163 실행 결과원래의 vector = 1 2 3 4 5 6 7 8 9 10맨 앞 원소 삭제 = 2 3 4 5 6 7 8 9 10두 번째 원소 삭제 = 2 4 5 6 7 8 9 10끝 원소 삭제 = 2 4 5 6 7 8 9숫자 8 삭제 = 2 4 5 6 7 9제일 처음에 숫자 1 삽입 = 1 2 ..
https://www.acmicpc.net/problem/1021 생각했던 조건들보다 1~2개 더 조건이 있었다. deque로 구현하려고 하였으나, 큐 안에 있는 원소의 인덱스 위치를 찾기 귀찮아서 그냥 vector로 구현하였다. vector의 insert와 erase를 알면 쉽게 풀 수 있다. 단, 오른쪽으로 이동할 때에는 tail이 하나 더 증가해야한다. (75번 째 줄의 erase 때문) 예) 1 2 3 4 5에서 4를 삭제할 경우, tail = |4-5| = 1이 되므로, 4 5 1 2 3 (총 2번 이동) 이 되어야 한다. 2를 삭제 할 경우에는 head = |1-2| = 1이 되므로, 2 3 4 5 1 (총 1번 이동) 12345678910111213141516171819202122232425..
https://www.acmicpc.net/problem/1057 다음 라운드의 자신의 번호는 (현재 자신의 번호 + 1) / 2이다. 예) 1과 2를 보면(1 + 1) / 2 = 1(2 + 1) / 2 = 1같으면, 경기(대결)를 해당 라운드에서 하게 된다. 1234567891011121314151617181920212223242526272829303132333435363738#include #include #include #include #include #include #include #include #include #include using namespace std; int N = 0, kim = 0, lim = 0; int main(void){ scanf("%d %d %d", &N, &kim, &..
https://www.acmicpc.net/problem/1966 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include #include #include #include #include #include #include #include #include #include using namespace std; bool cmp(int &a, int &b){ return a > b;} int main(void){ int T = 0, N = 0, M = 0, document = 0; scanf..
https://www.acmicpc.net/problem/2668 결국 DFS를 이용하여 Cycle을 찾는 문제이다. 주석 참고. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#include #include #include #include #include #include #include #include #include #include using namespace std; vector v[101];vector ans; int N = 0, start ..
https://www.acmicpc.net/problem/4641 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include #include #include #include #include #include #include #include #include #include using namespace std; vector v; int search(){ bool visit[101] = { false, }; memset(visit, false, sizeof(visit)); int ret = 0; for (int i = 0; i