Loading...

[백준] 20920번 영단어 암기는 괴로워 (C++, hash, vector, sort)

단어가 들어오면 구조체 형태로 배열에 저장하는데, 배열의 접근 인덱스를 hash에 저장한다 만약 cat이라는 단어가 들어오면 hash['cat']=2 (cat이라는 단어의 배열의 인덱스가 2라는 뜻) 형태로 저장하는 것이다. hash에 해당하는 문자열이 없으면 0을 반환하기 때문에 배열 인덱스 0에는 저장하면 안되서 인덱스는 1부터 시작한다. 해당하는 조건에 따라서 정렬해줄때도 배열+1의 위치부터 정렬해주고 출력하면 된다. #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; #define endl "\n" typedef struct st { string word; int cnt; }..

[백준] 16165번 걸그룹 마스터 준석이 (C++, 해시)

해시를 두 개 만들어서 팀 이름에는 멤버리스트 저장, 멤버 이름에는 팀 이름 저장함 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); unordered_map member; unordered_map group; int n, m; string team,name; int cnt; cin >> n >> m; for (register int i = 0; i > team >> cnt; vector temp; for (register in..

[백준] 17219번 비밀번호 찾기 (C++, 해시)

#define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n >> m; unordered_map hash; string add, pass; for (int i = 0; i > add >> pass; hash[add] = pass; } string tmp; for (int i = 0; i > tmp; cout

[백준] 13414번 수강신청 (C++, 해시)

큐에다가 순서대로 집어넣는데 만약 같은 사람이 한번 더 신청하면 인덱스번호를 변경해서 큐에다 한번 더 넣는다. 나중에 큐에서 뺄때 해시에 저장된 인덱스번호와 다르면 그냥 넘어가고 같으면 해당 순서가 맞으므로 출력한다. #define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int k, l; unordered_map hash; cin >> k >> l; string num; queue q; for (int i = 0; i > num;..

[백준] 1620번 나는야 포켓몬 마스터 이다솜 (C++, 해시)

번호도 문자열 형태로 저장해버림 #define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include using namespace std; bool comp(string a,string b) { return a>b; } int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int n,m; cin >> n>>m; unordered_map poketmon; string name; for (int i = 0; i > name; poketmon.insert({ name,to_string(i + 1) }); poketmon.insert({ to_string(i..

[SWEA] 2948. 문자열 교집합 (C++, 해시)

해시에 첫 집합의 문자열들을 저장하고 두 번째 문자열 집합을 입력받을 때 검색해서 해시에 들어있는 문자열의 개수를 세준다. #define _CRT_SECURE_NO_DEPRECATE #include #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int t, n, m; cin >> t; for (int tc = 1; tc > n >> m; string s; unordered_map hash; int cnt = 0; for (int i = 0; i > s; hash.insert({ s,s }); } for (int ..

[프로그래머스] 위장 (python, 해시)

조합의 경우의 수라고 볼 수 있는 것 같다 각 종류의 옷을 안입는 경우까지 포함해서 종류별 옷의 개수+1 해서 모두 곱해준 다음 모든 의상을 입지않는 경우 1을 빼준다 (적어도 하나는 입어야한다) from collections import defaultdict def solution(clothes): answer = 1 dic=defaultdict(int) for a,b in clothes: dic[b]+=1 for v in dic.values(): answer*=(v+1) return answer-1