일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 13908
- @P0
- 경력
- dfs
- 물채우기
- Kafka
- 6987
- compose
- 백트래킹
- 백준
- incr
- 퇴사통보
- BOJ
- 소프티어
- 기술면접
- upper_bound
- 처우산정
- 매개변수탐색
- 파라메트릭
- 오퍼레터
- msSQL
- OFFSET
- 이분탐색
- 처우협의
- 성적평가
- boj #19237 #어른 상어
- BFS
- Docker
- 연결요소
- softeer
- Today
- Total
목록알고리즘 문제 (501)
기술 블로그
https://www.acmicpc.net/problem/1764 2가지 해결 방법이 있다. 1. C++ STL map 이용(map은 자동 사전순 정렬, 완전 이진 트리 구조)2. 이분탐색 이용 1. C++ STL map 이용123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include #include #include #include #include #include #include #include #include #include using namespace std; int N = 0, M = 0; int main(void){ int cnt = ..
https://www.acmicpc.net/problem/2858 문제를 읽어보고, 엄청 쉬운 문제인 줄 알았다. 문제에서도 항상 정답이 유일한 경우에만 주어진다고 하여서, 단순히 첫 번째 코드처럼 곱셈을 하여, 갈색과 빨간색의 합과 같은지만 비교하였다. 하지만 생각해보니, 구한 가로와 세로의 길이를 활용해 입력한 갈색과 빨간색의 개수까지 같은지 비교했었야 했다. 여하튼, 이렇게 해서 두 번째 코드(이중 for문)까지 작성하여 제출했고, 맞았지만 시간이 남들보다 더 걸렸다. 그래서, 구글링을 해보니, 다른 분들은 세 번째 코드처럼 for문을 하나만 썼었다. 좀 더 생각을 해보고, 문제도 잘 읽어야겠다. 참고로, 갈색의 개수는 (가로 - 2) * (세로 - 2) 이다.아래 그림을 보면서 생각해보자. 혹시 ..
https://www.acmicpc.net/problem/4195 처음 보는 알고리즘이여서 구글링하면서 공부하면서, 다른 분들의 코드를 보면서 구현하였다. 이 문제는 무작정 들이대면서 풀었다기 보다 다른 분의 코드를 보면서, '상호 배타적 집합' 알고리즘의 예제로 풀겸 가볍게 따라 써보면서 생각하면서 공부했다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107#include #..
한양대 ERICA Zero One Algorithm Contest 2018 문제이다.(https://www.acmicpc.net/category/detail/1981) 개인적으로 허를 찌르는 문제들이 많았다! 모르고, 못 푸는 문제가 거의 다... 좋은 문제와 좋은 해설을 제공해주신 분들에게 무척 감사하다. 문제 : https://www.acmicpc.net/problem/16724 대회 해설 : http://hellogaon.tistory.com/66 문제의 성우가 설정한 방향 지도가 주어졌을 때 재훈이를 도와서 영과일 회원들이 지도 어느 구역에 있더라도 성우가 피리를 불 때 ‘SAFE ZONE’에 들어갈 수 있게 하는 ‘SAFE ZONE’의 최소 개수를 출력하는 프로그램을 작성하시오. 이 문장을 보고..
https://www.acmicpc.net/problem/16723 정말... 하루 종일 고민한 문제이다... 풀면서 비트마스크를 공부해야하나라고 생각까지 했다. 개인적으로 이 문제는 관점에 따라 접근 방식을 바로 찾고 이해하면, 쉽게 풀리는 문제라고 생각한다. 그게 아니라면, 나처럼 엄청난 시간을 소비하면서도 무식하게 구현하여 틀리게 된다. 제 1회 = 2제 2회 = 4제 3회 = 2제 4회 = 8제 5회 = 2제 6회 = 4제 7회 = 2제 8회 = 16제 9회 = 2제 10회 = 4제 11회 = 2제 12회 = 8...제 24회 = 16... 처음에 나는 위에처럼 나오길래 4회씩 끊어서(1~4, 5~8, ...) 생각하였다. 그래서, 2, 4, 2는 반복되니 제외해두고 4의 배수인 4회, 8회, 1..
문제 : https://www.acmicpc.net/problem/4179 테스트 케이스 : http://acm.student.cs.uwaterloo.ca/~acm00/090613/data/ 참고로 B번이다. 기본적인 유형의 BFS이다. 틀리면 안 된다. 핵심은 지훈이와 불에 대한 방문 처리를 각각 따로 해준다.그리고 return 할 때, 그 상태(p==0)가 지훈이인지도 조건문에 넣어주면 된다. 참고로 불을 먼저 큐에 push해준다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808..
https://www.acmicpc.net/problem/1019 https://www.slideshare.net/Baekjoon/baekjoon-online-judge-1019 꼭 다시 풀어봐야할 문제다. 브루트 포스 문제인데, 아이디어를 전혀 생각하지도 못 했다. 0과 9로 바꿔주는 것도 생각도 못 했다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#include #include #include #include #include #include #include #include #include #include u..
https://www.acmicpc.net/problem/1120 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include #include #include #include #include #include #include #include #include #include using namespace std; string A, B; int main(void){ cin >> A; cin >> B; int diff = 0; if (A.length() == B.length()) { for (int i = 0; i