4

[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] 백준 14911번 궁합 쌍 찾기 C++ 브루트포스 알고리즘, 정렬, Hash

리뷰 5달만에 다시 찾아와 깨부신 문제 파이썬에 비해 입력을 처리하는데 시간이 더 쓰인거 같다.https://www.acmicpc.net/problem/14911 문제 풀이정수형 벡터 lst를 초기화 해주고 getline을 통해 첫 줄을 문자열로 받아와 준 뒤 두번째 줄은 정수 l에 저장해 준다.문자열 s를 stringstream타입 ss로 변환해 주고, 공백을 기준으로 문자를 뽑아 정수형으로 변환 시킨다.변환시킨 정수를 lst에 넣어준 뒤 length변수에 lst의 사이즈를 구해준다.lst를 오름차순으로 정렬시킨 후 length!번의 브루트포스 알고리즘을 실행해 준다.만약 lst[i] + lst[j]가 l과 같다면 set에 해당 숫자 쌍을 추가해 준다.브루트포스가 끝나면 ans에 저장된 숫자 쌍을 모두..

[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