해시(Hash) & 딕셔너리(Dictionary) 완벽 정리
·
프로그래밍/개념
알고리즘 문제를 풀다 보면 빠른 데이터 탐색이 필요한 경우가 많습니다.예를 들어, "어떤 값이 존재하는지 빠르게 확인", **"데이터를 key-value 형태로 저장"**하는 경우입니다.이때 가장 강력한 자료구조가 바로 해시(Hash)와 딕셔너리(Dictionary) 입니다! 💡오늘은 해시 테이블과 딕셔너리의 개념을 배우고,📌 딕셔너리를 활용한 효율적인 탐색 📌 해시 충돌 해결 방법 📌 실전 문제 풀이를 진행하겠습니다!🎯 1. 해시(Hash)란?✔ 해시(Hash)의 개념해시는 데이터를 고유한 값(해시 값)으로 변환하여 저장하는 자료구조입니다.이 과정에서 해시 함수(Hash Function) 가 데이터를 빠르게 검색할 수 있도록 변환합니다.📌 해시의 핵심 원리 1️⃣ Key를 해시 함수에 넣으면..
[Programmers] 연속된 수의 합
·
프로그래밍/프로그래머스-파이썬
문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. 입출력 예 num total result 3 12 [3,4,5] 5 15 [1,2,3,4,5] 4 14 [2,3,4,5] 5 5 [-1,0,1,2,3] 입출력 예 설명 입출력 예 #1 num=3, total=12인 경우 [3,4,5]를 return 합니다. 입출력 예 #2 num=5, total=15인 경우 [1,2,3,4,5]를 return 합니다. 풀이 결국에는 연속되는 숫자의 합이기 때문에 몇번 연속되는지에 대한 값을 따로 계산하면 편하다 n..
[Programmers] 다음에 올 숫자
·
프로그래밍/프로그래머스-파이썬
문제설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 제한사항
[Programmers] 옹알이
·
프로그래밍/프로그래머스-파이썬
문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 원소에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 문자열은 알파벳 소문자로만 이루어져 있습니다. 입출력 예 babbling result ["aya", "yee", "u", "maa", "wyeoo"]..
백준 1260번 문제 DFS, BFS
·
프로그래밍/DFS,BFS
그래프 -> 정점과 간선으로 이루어진 자료구조 정점과 정점은 간선으로 이루어져 있다. 그래프를 컴퓨터에 그려야 한다 !! 컴퓨터에 그린다는 것? 위와 같이 정점과 간선으로 이루어진 그림을 아래와 같이 리스트로 표현할 수 있고 그 역도 가능하다 1 - 5 2 - 3 3 - 5 4 - 2 - 5 5 - 1 - 3 - 4 따라서, 컴퓨터에는 위 그림이 아니라 리스트를 저장하면 된다. DFS 와 BFS를 왜 쓰냐 ? -> 완전 탐색을 위해서 DFS vs BFS 목적은 동일, 완전 탐색 순서가 다름 시작점이 1번이라 했을 때, 우선 순위가 같은 정점이 2개이상 일때는 번호가 낮은 정점부터 방문한다면 ? DFS 최근 방문한 정점에 인접한 정점을 방문 최근 -> 현재 방문 중인 정점에 인접한 정점을 방문 12354 ..