알고리즘
-
[99클럽] dict 활용 초급알고리즘/코딩테스트 문제 정리 2025. 1. 20. 13:11
🌈 파이썬 코드N = int(input())def solution_1(N): dict_1 = {} for i in range(N): fruit, amount = input().split(" ") amount = int(amount) keys = dict_1.keys() if fruit in keys: dict_1[fruit] += amount else: dict_1[fruit] = amount if 5 in dict_1.values(): return 'YES' return 'NO'print(solution_1(N))간단한 문제 풀이였는데 여기서 시간이 너무 오래걸려..
-
[99클럽] 입력알고리즘/코딩테스트 문제 정리 2025. 1. 16. 13:38
🌈 파이썬 코드N,M = map(int, input().split(" "))def solution_1(string): return "".join(reversed(list(string)))for _ in range(N): string = input() print(solution_1(string)) # 입력값을 사용할 때 sys.stdin.readline().strip()을 사용해보자import sysdef solution_1(string): return "".join(reversed(list(string)))N, M = map(int, input().split())for _ in range(N): string = sys.stdin.readline().strip() ..
-
[99클럽] 이분탐색알고리즘/코딩테스트 문제 정리 2025. 1. 14. 20:40
☄️ 풀이 전 내 생각1. 현재 알고있는 자료구조인 배열, 스택, 해시에서는 제대로 답을 낼 수 없는 구조라고 생각이 들었다.2. 주어진 랜선의 총합도 구해보고 나누기도 시도해봤지만 어떻게 풀어야할지 제대로 감이 잡히질 않아서 답지를 보면서 분석하기로 했다.3. 예제를 보면 답이 200인걸 알 수 있는데 1부터 시작해서 200까지 올라가면서 11이 나오지 않는 경우를 찾는 거라면 너무 시간이 오래걸릴 것 같아서 아닌 것 같다.소요시간: 50분 🌈 파이썬 코드import sys# 가지고 있는 랜선의 개수 k , 필요한 랜선의 개수 nk, n = map(int, input().split(" "))lines = []for _ in range(k): line = int(input()) lines.a..
-
[자료구조] 해시(Hash)알고리즘/코딩테스트 개념 공부 2025. 1. 14. 14:16
🎩 등장 배경데이터는 날마다 늘어나고 있고 이러한 데이터를 효율적으로 저장하거나 탐색하기 위한 문제는 끊임없이 연구되고 있다. 데이터를 찾는데 가장 쉽게 떠올릴 수 있는 순차 탐색의 경우 최악의 경우에는 n개의 데이터 모두를 탐색해야하는 경우가 나오기에 효율적인 방법은 아니다. 즉 데이터가 어디에 위치해있는지 안다면 이것만큼 효율적인 방법은 없는 것이다. 이러한 효율적인 방법을 강구하여 나온 결과물 중 하나가 해시(Hash)이다. 🌳 해시의 개념 어떠한 값이 저장되는 위치를 특정 규칙으로 정하여 탐색할 필요 없이 바로 데이터를 찾아낼 수 있는 자료구조해시함수를 사용해 변환한 값을 인덱스로 삼아 키와 값을 저장하여 빠른 데이터 탐색을 제공한다. 파이썬에서는 딕셔너리라는 자료형이 해시 테이블과 거의 동..