Algorithm

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(clothes): # 각 종류별 가진 의상을 저장 (종류:[이름, 이름, ...]) closet = {} for name, kind in clothes: if kind in closet.keys(): closet[kind] += [name] else: closet[kind] = [name] # A의 종류가 N개, B의 종류가 M개 일 때 가능한 모든 경우의 수 (N+1)(M+1) answer = 1 for _, value in closet.items(): answer *= (len..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from collections import deque def solution(maps): n, m = len(maps), len(maps[0]) queue = deque() queue.append((0, 0)) # 시작 위치 큐에 추가 # 상하좌우 dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] # BFS while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] # nx, ny가 maps 범..
1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 코드 t = int(input()) # 테스트 케이스 for _ in range(t): n = int(input()) # 0과 1의 호출 횟수(N은 40보다 작거나 같은 자연수 또는 0) zero = [0] * (41) one = [0] * (41) zero[0], one[0] = 1, 0 # f(0) zero[1], one[1] = 0, 1 # f(1) for i in range(2, n+1): zero[i] = zero[i-1] + zero[i-2] one[i] = one[i-1] + one[i-2] print(zero[n], one[n]) n번째 피보나..
24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 처음 시도한 코드 n = int(input()) f1, f2 = 0, 0 # 각 함수의 실행 횟수 def fib(n): global f1 if n == 1 or n == 2: f1 += 1 return 1 else: return fib(n-1) + fib(n-2) f = [0] * (n+1) # DP 테이블 초기화 def fibonacci(n): f[1] = 1 f[2] = 1 global f2 for i in range(3, n+1): f[i] =..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 시간 동안 이 방법 저 방법을 해봐도 해결하지 못해서 '맨 앞 작업을 기준으로 판단하면 된다.'는 힌트를 보고 정답 코드를 작성할 수 있었다. 첫 번째 예시인 progress=[39, 30, 55], speeds=[1, 30,5] 일 때 과정을 설명하면 다음과 같다. 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있지만, 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포돼야 한다는 조건이 존재한다. 따라서 앞에 있는 기능부터 배포되어야 하므로, pro..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from datetime import datetime import math def solution(fees, records): answer = {record.split()[1]:0 for record in records} # 차량번호:누적시간 car = {} # 차량번호:입차시간 for record in records: time, car_num, inout = record.split() if inout == 'IN': # IN이면 딕셔너리 car에 입차시간 기록 car[car_num] = datetime..
dduniverse
'Algorithm' 카테고리의 글 목록 (4 Page)