코딩테스트대비29 가장큰수_스택 import sys# sys.stdin = open("input.txt","rt")# 15 99# 73 32 31 49 94 37 40 62 78 66 27 100 99 29 9# 873462num, n = map(int, input().split())stack = []# print(n, num)for x in str(num): while stack and n > 0 and stack[-1] 0: print("".join(stack[0:-n]))else: print("".join(stack))❝ while 문 조건이 False면 pop()은 실행 안 되고, 그냥 append(x) 한 다음 다음 for 루프로 넘어간다 ❞ 이 개념 이해 코딩테스트대비/기본구현 2025. 5. 25. 결정알고리즘_랜선자르기 import syssys.stdin = open("input.txt","rt")# 15 99# 73 32 31 49 94 37 40 62 78 66 27 100 99 29 9n, num = map(int, input().split())num_list = []for _ in range(n): num_list.append(int(input()))def Count(x): cnt = 0 for each_num in num_list: cnt += each_num // x return cnt lt = 0rt = max(num_list)res = 0while lt = num: res = mid lt = mid + 1 else: .. 코딩테스트대비/이분탐색(결정알고리즘) & 그리디 알고리즘 2025. 5. 25. 이분탐색 알고리즘 import syssys.stdin = open("input.txt","rt")# 15 99# 73 32 31 49 94 37 40 62 78 66 27 100 99 29 9n, num = map(int, input().split())num_list = list(map(int, input().split()))# 이거 lt, rt while 문 바깥에 있어야하는거 유의num_list.sort()lt = 0rt = len(num_list)while True: mid_index = (lt + rt) // 2 if num_list[mid_index] == num: print(mid_index+1) break elif num > num_list[mid_index]: .. 코딩테스트대비/이분탐색(결정알고리즘) & 그리디 알고리즘 2025. 5. 24. 간선문제 # 입력 받기n, m = map(int, input().split()) # n은 정점 수, m은 간선 수# 각 정점이 사용되었는지 여부 저장 (0부터 n까지)used = [False] * (n + 1)# 간선 정보 저장edges = []for _ in range(m): u, v = map(int, input().split()) edges.append((u, v))count = 0 # 선택된 정점 수# 간선을 하나씩 보면서, 양쪽 정점이 아직 안 쓰였으면 선택!for u, v in edges: if not used[u] and not used[v]: used[u] = True used[v] = True count += 2 # 둘 다 선택됨print.. 코딩테스트대비/기본구현 2025. 5. 24. 재귀함수를 이용한 이진수 출력 import sysimport math# 10 3# 18 54 46 52 28 22 23 53 28 40 sys.stdin = open("input.txt","rt")x = 70stack_int = ""while x > 0: remain_x = x % 2 stack_int += str(remain_x) x = x // 2 ans_str = ""for each_str_idx in range(-1, -len(stack_int)-1,-1): print(each_str_idx) ans_str += stack_int[each_str_idx]단순 구현으로 풀었을 때 풀이def DFS(x): if x > 0: DFS(x // 2) print(x % 2,.. 코딩테스트대비/완전탐색 (백트랙킹, 상태트리와 CUT EDGE)-DFS(깊이우선탐색) 2025. 2. 5. 에라토스테네스의 체 import sysimport math# 10 3# 18 54 46 52 28 22 23 53 28 40 sys.stdin = open("input.txt","rt")n = int(input())# 2는 소수init_cnt = 1for k in range(2,n+1): flag_pont = False if k == 2: continue for j in range(2, math.isqrt(k)+1): if k % j == 0: flag_pont = True break if not flag_pont: init_cnt += 1 print(init_cnt)이중 for 문에서의 brak .. 코딩테스트대비/기본구현 2025. 2. 3. 자릿수의 합 import sys# 10 3# 18 54 46 52 28 22 23 53 28 40 # sys.stdin = open("input.txt","rt")n = int(input())num_list = list(map(int,input().split()))max_num = -1ans_num = 0for each_num in num_list: int_to_str = list(str(each_num)) loof_sum = 0 origin_num = "" for each_num in int_to_str: origin_num += str(each_num) loof_sum += int(each_num) if loof_sum > max_num: .. 코딩테스트대비/기본구현 2025. 2. 2. 대표값(enumerate idx 이슈) import sys# 10 3# 18 54 46 52 28 22 23 53 28 40 sys.stdin = open("input.txt","rt")n = int(input())student_list = list(map(int, input().split()))avg_scroe = round(sum(student_list) / n)# 최솟값 저장init_min = float("inf")save_point_score = float("-inf")init_idx = -1for idx, each_student_score in enumerate(student_list): minus_score = abs(avg_scroe - each_student_score) if (minus_score save_.. 코딩테스트대비/기본구현 2025. 2. 2. 자릿수의 합 import sys# 10 3# 18 54 46 52 28 22 23 53 28 40 # sys.stdin = open("input.txt","rt")n, m = map(int, input().split())num_list = list(map(int, input().split()))num_list.sort(reverse = True)ans_list = []for k in range(len(num_list)-2): start_num = num_list[k] mid_num = num_list[k+1] for j in range(k+2, len(num_list)): sum_num = start_num + mid_num + num_list[j] ans_list.appen.. 코딩테스트대비/기본구현 2025. 2. 2. k번쨰 수 import syssys.stdin = open("input.txt","rt")# n, m = map(int, input().split())n = int(input())for loof in range(n): N, s, e, k = map(int, input().split()) num_list = list(map(int, input().split())) step_one_list = num_list[s-1:e] step_one_list.sort() ans_num = str(step_one_list[k-1]) print(f"#{loof+1} " + ans_num) lists[start:end] → start 인덱스부터 end-1 인덱스까지 가져옴.lists[1:5] → 1번.. 코딩테스트대비/기본구현 2025. 2. 2. k번째 약수 import sys# sys.stdin = open("input.txt","rt")n, m = map(int, input().split())lists = []for num in range(1,n+1): if n%num == 0: lists.append(num)if len(lists) 코딩테스트대비/기본구현 2025. 2. 2. 정다면체(기본구현) import syssys.stdin = open("input.txt","rt")n, m = map(int, input().split())init_list = [0] * (n+m+1)for i in range(1, n+1): for j in range(1, m+1): total_idx = i+j init_list[total_idx] += 1 max_num_cnt = init_list.count(max(init_list))max_num = init_list.index(max(init_list))ans_list = []ans_list.append(max_num)if max_num_cnt > 1: for cnt in range(1,max_num_cnt): .. 코딩테스트대비/기본구현 2025. 2. 2. 이전 1 2 3 다음