본문 바로가기

분류 전체보기266

동전 1 출처 :  https://www.acmicpc.net/problem/2293 코드 import sys# 입력input_data = sys.stdin.read().splitlines()N, K = map(int, input_data[0].split())coins = list(map(int, input_data[1:]))# 테스트용# N, K = 3, 10# coins = [1, 2, 5]dp = [0] * (K + 1) # dp[i] = i원을 만들 수 있는 조합의 개수dp[0] = 1 # 0원을 만드는 경우는 아무 동전도 사용하지 않는 경우 1가지for coin in coins: for i in range(coin, K + 1): dp[i] += dp[i - coin] # 현재 금.. 2025. 2. 20.
부대복귀 - Python, BFS https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 from collections import dequedef solution(n, roads, sources, destination): graph = [[] for _ in range(n + 1)] for start, end in roads: graph[start].append(end) graph[end].append(start) distances = [-1] * (n + 1) .. 2025. 2. 17.
chpater 18. Table-Driven Methods 테이블 기반 기법(Table-Driven Method) 기본 개념:if-else 또는 switch-case 문을 사용하는 대신, 테이블에서 미리 정의된 값을 조회하여 결과를 도출하는 방식 테이블을 사용하면 복잡한 의사 결정 로직을 단순화할 수 있어 코드의 가독성, 유지보수성, 확장성이 향상 됨간단한 경우는 if 문이나 case 문이 더 깔끔  18.1 테이블 기반 기법 사용에 대한 일반적인 고려 사항 조건문이 복잡하게 사용될 경우 테이블 기반 접근법으로 단순화 할 수 있음.// 조건문을 사용할 경우if ( ( ( 'a'  장점 : 복잡한 조건문을 줄여 효율적인 데이터 조회 방식을 가능하게 함1. 코드가 짧아짐2. 수정 용이 => 새로운 문자 추가할 때 테이블만 변경하면 됨  테이블 기반 기법 사용 시 고.. 2025. 2. 16.
2025 프로그래머스 코드챌린지 2차 예선 > 서버 증설 횟수 - Python, 구현 https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 def solution(players, m, k): answer = 0 size = len(players) servers = [0] * size def server_expansion(need_server, start): for idx in range(k): if start + idx = m: need_server = (player // m) - s.. 2025. 2. 15.
2025 프로그래머스 코드챌린지 2차 예선 > 택배 상자 꺼내기 - Python, 구현 https://school.programmers.co.kr/learn/courses/30/lessons/389478 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 def solution(n, w, num): boxs = [[] for _ in range(w)] box_num = 0 direction = 1 # 1이면 오른쪽, -1이면 왼쪽 while box_num   어떻게 하면 왔다 갔다 하는 것을 효율적으로 할 수 있을까 고민했다. 위의 코드보다 좋은 방식이 있으면 추천 부탁드립니다. 풀이 과정은 간단합니다. 각 열마다 박스를 저장하고 그 박스들의 묶음 안에 .. 2025. 2. 15.
2025 프로그래머스 코드챌린지 1차 예선 > 비밀 코드 해독 - Python, Combinations, & 연산 https://school.programmers.co.kr/learn/courses/30/lessons/388352#qna 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 & 풀이 from itertools import combinationsdef solution(n, q, ans): possible_code = list(combinations(range(1, n + 1), 5)) total_cnt = 0 for code in possible_code: make_code = True for i in range(len(q)): if.. 2025. 2. 14.