알고리즘 유형별 문제를 모아 그 사이의 일관된 공통점을 찾아보려고 한다. 매번 알고리즘 공부해야지 하고 마음먹었다가 시간이 지나면 까먹고 다시 원점으로 돌아오게 되는데, 역시 정리를 하지 않아서 그런 것 같다. 문과생이었어서 그런지 유형별 학습이 더 익숙하다. C++을 기준으로 정리할 예정이다. DFS https://www.acmicpc.net/prob...
include 유용한 도구들 문자열 대문자로 변환 string에서 char 배열로 변환 char배열에서 string으로 변환 문자열 split 다음 번째 문자열은 위처럼 strtok(NULL, " ");을 통해 받아야 한다. string을 char로 바꾼 뒤 사용해야 하고 복잡하기도 해서 문자열 관련이면 보다 익숙한 javascript로 풀려고 한...
include 유용한 방식 넣기 빼기 pushback, popback 정렬 역정렬 정렬 방식 지정 false가 리턴될때 a, b의 순서를 바꾼다는 것을 기억하자. 즉, a.first < b.first에서 false가 리턴될 경우 a와 b의 순서가 바뀐다. 결과적으로 오름차순 정렬이 된다. 백터가 pair들로 구성되어 있을 경우 첫번째 값이 같으면...
BFS와 그를 응용한 다익스트라를 정리한다. BFS https://programmers.co.kr/learn/courses/30/lessons/43162 네트워크간에 걸리는 시간, 경로는 상관없이 탐색을 하기만 하면 되므로 BFS를 이용하여 풀 수 있다. DFS는
include 유용한 방식 넣고 빼기 push() pop(): 리턴값이 없으므로 먼저 top()을 하여 맨 위의 값을 꺼내야 한다. 순회 queue는 순회를 할 수 없다.
include 유용한 방식 넣고 빼기 하지만 m[4]와 같은 식으로 접근할 경우 원소가 없으면 0을 리턴에 원소가 실제로 존재하지 않는지 확실히 알 수 없다. 따라서 m.find(4)와 같이 접근해야 원소가 있는지 없는지 확실히 알 수 있다. find는 원소가 없을 시 마지막 원소를 리턴한다. 삭제 순회 map에는 pair을 넣기에 pair와 똑...