알고리즘/코딩테스트 문제 정리
-
[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..
-
[코딩 테스트 합격자 되기] deque 사용하기알고리즘/코딩테스트 문제 정리 2025. 1. 13. 22:51
☄️ 문제 접근 및 내 생각1. 처음에 문제를 잘못 이해해서 번갈아가면서 조회를 하면되는 줄 알고 홀수 일 때 짝수 일 때 나눠서 하다가 그게 아니란 것을 알게 됨.2. queue를 3개를 만들어서 이용해야겠다는 생각이 들었다.3. 간단히 풀릴 것 같고 중간에 안되는 경우에는 걍 break하거나 return해서 바로 끝내면 될 것 같다.소요시간: 40분 🌈 파이썬 코드from collections import dequedef solution_17(): cards1 = deque(['i', 'drink', 'want']) cards2 = deque(['water', 'to']) goal = deque(['i', 'want', 'to', 'drink', 'water']) while g..
-
[99클럽] stack 기초, B2776알고리즘/코딩테스트 문제 정리 2025. 1. 13. 20:20
🌱 문제 풀기 전 나의 생각1. stack을 먼저 떠올리게 된 문제이다. 이전에 stack을 해결할 때 간단하게 풀 수 있는 부분에 대해서는 list보다는 int를 이용해서 + -를 통해서 해결하면 더 쉽게 해결이 된다고 생각되어 이렇게 구현하고자 하였다.소요 시간: 10분 🌳 파이썬 풀이 코드def solution(s): answer = True count = 0 s = s.lower() for i in s: if i == 'p': count += 1 elif i == 'y': count -= 1 continue return count == 0JS에서는 toLowerCase() 메서드를..
-
[코딩테스트 합격자 되기] queue 활용알고리즘/코딩테스트 문제 정리 2025. 1. 10. 21:19
☄️ 문제 접근 및 내 생각1. 리스트를 만들어서 빼고 더하고 빼고 더하고 하는 와중에 정해진 k값에 빼기를 한 번 더 하게 되면 될 것 같다.2. 리스트로하게 되면 시간이 더 많이 걸리니깐 deque로 해야한다는 것을 다시 상기함.소요시간: 30분 🌈 파이썬 코드from collections import deque# 문제 15 요세푸스 문제def solution_15(n, k): # people = deque([int(x) + 1 for x in range(n)]) people = deque(range(1, n + 1)) count = 1 while len(people) > 1: if (count == k): people.popleft()..