해시 3

[G4] 백준 2015번 수들의 합 4 C++ 해시맵, 누적합

리뷰 구간의 합이 특정 값이 되는 구간의 개수를 구하는 문제https://www.acmicpc.net/problem/2015 전역 변수dic : 특정 구간의 누적합을 key로 갖고, 그러한 누적합의 개수를 value로 받는 해시맵 long long, int 타입total, ans : 누적합 정보를 저장할 변수total, 인접한 수열의 합이 k인 수열의 개수 ans, long long타입으로 초기화 한다.n, k, : 수열의 길이 n, 찾을 값 k,  함수없음  문제풀이n, k를 입력 받고, sum배열의 1 ~ n번째 인덱스에 누적합 정보를 저장해 준다.다시 1 ~ n번의 정보를 탐색하며 ans에 현재 누적합 인덱스에서 k를 뺀 값의 개수를 더해준다.이후 현재 누적합 정보를 키로 갖는 dic의 개수를 증가..

[G2] 백준 21944번 문제 추천 시스템 Version2 C++ 해시, 집합, 맵, set, map

리뷰 간만에 풀어본 해시맵 문제, 파이썬으로 숙달한 사람은 map에 익숙해 지는 것 같다.https://www.acmicpc.net/problem/21944 전역 변수n, m : 초기에 입력되는 문제의 개수를 저장할 정수형 변수 n, 쿼리의 개수를 저장할 정수형 변수 mProb : 문제의 난이도와 알고리즘 분류 정보를 저장할 구조체probs : 문제 정보를 저장할 Prob 타입 배열, 문제 번호를 index로 사용하여 관리, 크기는 최대문제 번호 10만 + 1rec1 : recommed입력 시 문제 정보를 출력할 맵, 알고리즘 분류를 키로 가지며 int와 set 쌍으로 관리해 준다.rec2 : 알고리즘 분류 상관 없이 문제의 난이도로만 출력을 관리할 set, pair을 통해 난이도와 문제 번호를 관리한다..

[S4] 백준 26596번 황금 칵테일 C++ 해시를 사용한 집합과 맵

리뷰 5달만에 다시 덤볐으나 문제 조건을 제대로 읽지 않아 또 져버렸다... https://www.acmicpc.net/problem/26596 문제 풀이재료의 개수 m과 황금 비율을 비교할 gold_rate를 1.618로, 문자열, 정수로 이루어진 맵 dic를 초기화 해준다.m값을 입력 받고 m만큼 루프를 돈 뒤 재료명과 값을 입력받아 재료명을 키로 갖는 맵에 값을 더해준다.flag를 0으로 초기화 해주고 맵을 두개로 나누어 순회하며 특정 재료의 값 * 황금비율이 다른 재료의 값과 동일한지 찾아준다. 이때 재료가 동일한 경우에는 황금 비율로 인정하지 않는다.만약 황금 비율을 찾았다면 flag를 1로 변경한 후 break 처리를 해준다.flag가 1인 경우 Delicious! 를, 아닐 경우 Not De..

728x90