반응형 해싱4 BOJ 18870 - 좌표 압축 / C++ 문제 링크 : https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 풀이 입력받은 배열을 정렬한 뒤 0부터 차례대로 우선순위를 매긴다. 중복되는 수들은 건너뛴다. map 자료구조에 key 값은 수(좌표), value는 우선순위를 넣어준 다음 원래 배열의 순서대로 우선순위를 알맞게 출력한다. 코드 #include using namespace std; int main(){ ios_base::sync_wi.. 2022. 4. 17. 프로그래머스 - 오픈 채팅방 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 record 배열의 문자열들을 단어별로 파싱한 뒤 unordered_map을 이용하여 uid와 닉네임을 갱신해준다. 갱신이 끝나면 다시 record 배열을 돌며 Enter 또는 Leave에 따라 문자열을 생성하고 정답 배열에 넣어준다. 코드 #include using namespace std; vector solution(vector reco.. 2022. 4. 16. BOJ 15829 - Hashing / C++ 문제 링크 : https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 풀이 해당 수식을 계산하는 과정에서 31^49와 같은 매우 큰 수를 계산하게 되므로 C++의 pow를 사용하면 오버플로우가 발생한다. 따라서 직접 pow 함수를 구현하며 계산 과정에서 modulo 연산을 수행해준다. 나머지는 단순 수식 구현이므로 생략한다. 코드 #include #include using namespace std; #define ull unsigned long lo.. 2022. 4. 14. 프로그래머스 - 전화번호 목록 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문제 풀이 문자열 배열을 정렬하게 되면 문자열의 size로 정렬되는 것이 아니라 맨 앞의 인덱스부터 비교해나가면서 정렬을 하게 된다 예를 들어, ["119", "97674223", "1195524421"]을 정렬하게 되면 ["119", "1195524421", "97674223"] 이 된다. 따라서, 접두어를 찾기 위해 2중 for문을 사용할 .. 2022. 2. 16. 이전 1 다음 반응형