알고리즘
2019 KAKAO BLIND RECRUITMENT - 매칭 점수
모든 문제는 C++로 구현되어 있습니다. 이 문제는 세 단계로 나눠서 생각할 수 있다. 1. 태그에서 페이지의 링크를 구하고, 이를 기본 점수 및 최종 점수를 저장하는 맵에 매핑시키기 2. 페이지 별 기본점수 구하기 3. 각 페이지의 외부 링크를 구하고, 이에 맞게 링크 점수 뿌려주기 1. 태그에서 페이지의 url을 구하고, 이를 기본 점수 및 최종 점수를 저장하는 맵에 매핑시키기 먼저 헤더에 있는 std::stringstream을 사용해서 공백을 기준으로 각 페이지의 단어를 나눠서 별도의 배열 wordList에 저장한다. 그 다음 wordList를 순회하면서 "
2019 KAKAO BLIND RECRUITMENT - 무지의 먹방 라이브
모든 문제는 C++로 구현되어 있습니다. 이 문제를 풀기 위해, 각 음식을 다 먹는 시간을 기준으로 구간을 나눠볼 수 있다. 아래와 같은 food_times 배열이 주어졌다고 가정해보자. [10, 15, 4, 7] 가장 먼저 다 먹게되는 음식은 세 번째 음식으로, 다 먹는데에 4 X 4 = 16초가 걸린다. 두번째로 다 먹게 되는 음식은 네 번째 음식으로, 다 먹는데에 16 + (7-4) X 3 = 25초가 걸린다. 세번째로 다 먹게 되는 음식은 첫 번째 음식으로, 다 먹는데에 25 + (10-7) X 2 = 31초가 걸린다. 마지막으로 남는 음식은 두 번째 음식으로, 다 먹는데에 31 + (15-10) X 1 = 36초가 걸린다. 이런 식으로 구간을 나누면 K초 시점에서 몇개의 음식이 남았는지 확인할 ..
2019 KAKAO BLIND RECRUITMENT - 오픈채팅방
모든 문제는 C++로 구현되어 있습니다. 이 문제는 유저 아이디와 닉네임을 맵으로 매핑시키고, record 배열의 첫 번째 단어가 Enter인지, Leave인지, Change인지 확인하여 그에 맞는 처리를 해주면 풀 수 있다. record 배열의 원소를 단어별로 나눠주는 작업을 처리하기 위해 고민을 좀 했는데, stringstream을 사용하여 쉽게 문자열을 분리할 수 있는 방법이 있어 그 방법을 사용했다. //출처 : https://psychoria.tistory.com/666 #include #include #include #include using namespace std; //첫번째 방법 : std::getline 이용, 구분자를 마음대로 설정할 수 있음. vector tokenize_getlin..