1. 완주하지 못한 선수

해쉬맵 사용법

#include

// 선언

unordered_map<string, int> hmap;

// 요소 삽입

hmap.insert(unordered_map<string, int>::value_type(str, 0));

// 또는

hmap[str] = 0;

// 순환하며 각 요소 참조하기

for(auto h = hmap.begin(); h != hmap.end(); h++) {

if(h->second < 0) // 요소의 값 second, 요소의 키 first

return h->first;

}

  1. 전화번호 목록 (https://programmers.co.kr/learn/courses/30/lessons/42577)

string객체를 sort를 이용하면 prefix(접두사)의 구분시 유용하다

sort는 string의 정렬에 이용하면 string의 첫 문자 부터 같은 위치의 한 문자(char)에 따라 정렬하게 된다

따라서 99 1111 1234 131 592 222 를 정렬하게 되면 1111 1234 131 222 592 99 순으로 정렬된다.

이를 이용하면 접두사로 오는 문자열은 바로 뒤에 옴을 알 수 있다.

  1. 위장 (https://programmers.co.kr/learn/courses/30/lessons/42578)

경우의 수를 이용하는 문제로 스파이가 의상을 입지 않는 경우를 주의하며 고려해야한다.

의상이 1개인 경우 or 의상이 여러개인 경우

hmap.count(key)로 해당 key에 값이 있나 없나 알 수 있다.

  1. 베스트엘범 (https://programmers.co.kr/learn/courses/30/lessons/42579)

unordered_map에 genre별로 vector를 집어넣고 2번째 값을 기준으로 정렬하기

unordered_map은 sort로 정렬이 불가능하기 때문에 vector로 옮겨 담은 뒤 정렬하도록 하자

// sort vector

vector<pair<string, int» genreSumVec(genreSum.begin(), genreSum.end()); // 옮겨 담는다

sort(genreSumVec.begin(), genreSumVec.end(), sortbysec); // 정렬

for (auto d = data.begin(); d != data.end(); d++)

sort(d->second.begin(), d->second.end(), sortbysec2);

// sort를 내림차순 및 2번째 문자열을 기준으로 정렬하기

bool sortbysec(const pair<int, int>& a, const pair<int, int>& b) {

return (a.second > b.second);

}

// a, b : vector<pair<int, int»

sort(a, b, sortbysec);

댓글남기기