코딩테스트준비 11

99클럽 코테 스터디 7일차 TIL + 완전탐색

https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krfrom itertools import productdef solution(word): answer = 0 vowels = ['A', 'E', 'I', 'O', 'U'] dict = [] for i in range(1,6): for v in product(vowels, repeat=i): dict.append(''.join(v)) dict.sort() answer = dict..

Algorithm/Problems 2024.11.04

99클럽 코테 스터디 6일차 TIL + 이분탐색

https://www.acmicpc.net/problem/2805import sysinput = sys.stdin.readlinen, m = map(int, input().split())trees = list(map(int, input().split()))start = 0end = max(trees)answer = 0 # 절단기 높이while start mid: total += t - mid if total >= m: start = mid + 1 answer = mid else: end = mid - 1print(answer)m과 n의 범위를 보고 이분탐색을 생각할 수 있다.절단기 높이의 최댓값을 구하는 것이기 때문에 굳이 mi..

Algorithm/Problems 2024.11.03

99클럽 코테 스터디 3일차 TIL + 이분탐색

https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(n, times): answer = 0 left = min(times) right = max(times) * n # 가장 오래걸릴 수 있는 경우 while left = n: # mid 시간 동안 심사 받은 인원이 n명이 넘으면 시간을 더 줄여도 됨 right = mid - 1 answer = mid else: left..

Algorithm/Problems 2024.10.31

99클럽 코테 스터디 2일차 TIL + 이분탐색

https://www.acmicpc.net/problem/11561import sysinput = sys.stdin.readlinet = int(input())for _ in range(t): n = int(input()) start = 0 end = n result = 0 while start 징검다리를 1개, 2개, 3개, ... 1 차이로 건너야 최대한 많은 징검다리 수를 건널 수 있다.반드시 n번째 징검다리는 밟아야 하므로 1 + 2 + 3 + .... 가 n보다 작거나 같아야한다.등차수열의 합을 구하는 공식 : n(n+1) / 2mid가 우리가 구하는 target 값(최대한 많이 밟을 수 있는 징검다리 수)n의 최댓값이 10^16 으로 매우 크므로 완전탐색이 아닌 이분..

Algorithm/Problems 2024.10.30