목록백준 (31)
이우의 개발일지

백준 7785번 회사에 있는 사람 이 문제는 unorderd_map을 통해 어느정도 쉽게 구현이 가능한 문제입니다. 들어가기에 앞서, 먼저 unorderde_map을 어떻게 활용하냐? void unordered_map_example(){ unordered_map m; m["hi"] = 123; m["bkd"] = 1000; m["gogo"] = 165; // ("hi", 123), ("bkd", 1000), ("gogo", 165) cout 위 코드를 보면 map에 key와 value 를 대칭해서 넣을 수 있다는 것을 확인할 수 있다. 그 안에서 find 함수와 erase 함수를 자유롭게 쓸 수 있다는 장점이 있지만, 단점으로는 해당하는 Map값이 순서대로 저장되지는 않는다는점이다. 이러한 ..

백준 2559번 수열 2559번 수열 코딩테스트 풀이이 문제는 투 포인터 알고리즘을 통해 구현할 수 있다. 투 포인터란?배열에서 이중 for문으로 O(n^2)으로 시간 복잡도를 가지는 작업을 2개 포인터의 움직임으로 O(N)에 해결하는 알고리즘이다. 2559번 수열 문제에서는 연속된 k개의 수열 중 가장 최댓값을 구하는 문제이기 때문에, 이중 for문으로 돌기는 하지만, 2번 째 for문은 k번만 돌면 되고 만약 k 값이 크다면 첫번째 for문은 n-k 번째까지만 돌기 때문에온전한 시간복잡도가 O(n^2)이 아니다. for (int i = 0; i max) max = num; } 다른 부분을 볼 필요가 없고, 위 코드처럼 간단히 비교해주면 된다. 여기서 수열의 값의 범위는 -100 부터 100까지이..

백준 2805번 나무자르기 이분 탐색은 조건을 잘 못 짤시에 무한루프에 빠져 시간 초과가 뜨는 경우가 많다.이렇게 빠지지 않을려면 조건을 잘 세워야한다. 주어진 문제에 조건은1. 나무의 높이 정하기 ( 여기서 주의해야할 점은 m은 적어도 이정도지 무조건 m개는 아니다!!)2. 나무의 높이를 기준으로 이분탐색 하기 long long st = maxx;long long en = 0;int ans = 0;while (en 0) result += num; } 보이는 바와 같이 st가 max면 나무를 짜르는 총 max 값은 0이다. 따라서 en을 0이라고 설정하여 잘랐을 때 나무 길이의 총값으로 st와 en을 정해줬다. if (result > m) { en = mid + 1; } else if (res..