코딩테스트준비 43

99클럽 코테 스터디 8일차 TIL + 문자열

https://www.acmicpc.net/problem/9996# 9996 한국이 그리울 땐 서버에 접속하지import sysinput = sys.stdin.readlinen = int(input())pattern = input().split('*')start = pattern[0]end = pattern[1]for _ in range(n): name = input() if len(name) >= (len(start)+len(end)) and name.startswith(start) and name.endswith(end): print("DA") else: print("NE")패턴은 *을 기준으로 시작해야하는 문자와 끝나야하는 문자로 주어진다.시작하는 패턴과 끝..

Algorithm/Problems 2025.04.09

99클럽 코테 스터디 7일차 TIL + 스택

https://www.acmicpc.net/problem/10799# 10799 쇠막대기import sysinput = sys.stdin.readlinebars = input().strip()stack = []answer = 0for i in range(len(bars)): if bars[i] == '(': stack.append('(') else: stack.pop() if bars[i-1] == '(': # ) 직전 괄호가 (면 레이저 answer += len(stack) else: # ) 직전 괄호가 )면 막대기의 끝 answer += 1print(answer) 스택 자료구조의 특징을 이용했다.열린괄..

Algorithm/Problems 2025.04.08

99클럽 코테 스터디 5일차 TIL + 누적합

https://www.acmicpc.net/problem/2559import sysinput = sys.stdin.readlinen, k = map(int, input().split())temps = list(map(int, input().split()))partSum = sum(temps[:k])result = [partSum]for i in range(n-k): # n개의 수를 k씩 연속합을 구하면 나오는 갯수 result.append(result[i]-temps[i]+temps[i+k])print(max(result)) 합을 기록하는 리스트의 이전값(result[i]) 에서 제일 왼쪽 값 (temps[i])을 제외하고 그 다음값( temps[i+k]) 을 더하면 다음 누적합을 구할 수 있다...

Algorithm/Problems 2025.04.05

99클럽 코테 스터디 4일차 TIL + DFS

https://www.acmicpc.net/problem/2468# 2468 안전영역import sysinput = sys.stdin.readlinesys.setrecursionlimit(10**7)n = int(input())graph = []maxNum = 0 # 입력받은 높이의 최댓값 > 비for _ in range(n): graph.append(list(map(int, input().split()))) maxNum = max(maxNum, max(graph[-1])) # 각 행을 입력받으며 최댓값 구하기# 상하좌우dx = [0,0,-1,1]dy = [-1,1,0,0]def dfs(x,y,num): # num은 비가 왔을 때 잠기는 높이 visited[x][y] = True ..

Algorithm/Problems 2025.04.03

99클럽 코테 스터디 2일차 TIL + DP

https://www.acmicpc.net/problem/14495import sysinput = sys.stdin.readlinen = int(input())fibo = {}fibo[1] = 1fibo[2] = 1fibo[3] = 1for i in range(4, n+1): fibo[i] = fibo[i-1] + fibo[i-3]print(fibo[n]) n이 116 이하 자연수로 시간 초과는 나지 않았다.딕셔너리 자료구조를 이용해 풀이를 하였고 입력 받은 n까지의 수를 미리 구한 후 값을 출력했다.리스트를 사용하지 않으니 인덱스 에러가 날 확률도 적어지지 않았나.... 라는 생각이 든다....

Algorithm/Problems 2025.04.01

99클럽 코테 스터디 1일차 TIL + 소수

https://www.acmicpc.net/problem/1929 import sysinput = sys.stdin.readlinem, n = map(int, input().split())for i in range(m, n+1): if i == 1: continue for j in range(2, int(i**0.5)+1): if i % j == 0 and i != j: break else: print(i) 소수는 1보다 큰 자연수 중 1과 자기자신만 약수로 가지는 수다. (자기자신만 나누어 떨어짐)입력 받은 m부터 n까지 나누어 떨어지는 수가 있는지 확인한다.제곱근까지 계산하지 않으면 시간 초과 가 발생한다.제곱근 이후로는 앞에 ..

Algorithm/Problems 2025.03.31

99클럽 코테 스터디 34일차 TIL + 구현

https://school.programmers.co.kr/learn/courses/30/lessons/150370?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(today, terms, privacies): answer = [] d = {} # 약관 dict today = list(map(int, today.split('.'))) # 일 단위로 변환 today = today[0]*12*28 + today[1]*28 + today[2] for t in terms: n,m = t.split() ..

Algorithm/Problems 2024.12.01