반응형

분류 전체보기 65

프로그래머스(programmers) 단어 변환 python 정답[BFS 풀이]

프로그래머스(programmers) 단어 변환 python 정답[BFS 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(begin, target, words): answer = 0 Q = [begin] used = {begin : True} while Q: # 다음 번에 순회할 큐를 만든다 temp_Q = [] for word_1 in Q: if word_1 == target: return a..

알고리즘 2023.02.08

프로그래머스(programmers) 네트워크 python 정답[DFS 풀이]

프로그래머스(programmers) 네트워크 python 정답[DFS 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 from collections import defaultdict, deque def solution(n, computers): visited = [False] * (n) answer = 0 graph = defaultdict(set) # 그래프 만들기 for i in range(len(computer..

알고리즘 2023.02.08

프로그래머스(programmers) 게임 맵 최단거리 python 정답[BFS 풀이]

프로그래머스(programmers) 게임 맵 최단거리 python 정답[BFS 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 from collections import deque dl =[(0,1),(0,-1),(-1,0),(1,0)] # 항상 m과 n 방향 정확하게 파악하기 (n행, m열) def solution(maps): n,m = len(maps),len(maps[0]) visited =[ [0] *m for..

알고리즘 2023.02.08

프로그래머스(programmers) 타겟 넘버 python 정답[DFS 풀이]

프로그래머스(programmers) 타겟 넘버 python 정답[DFS 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(numbers, target): return recur(numbers,target) def recur(numbers,target): if len(numbers) == 0 and target == 0 : return 1 if len(numbers) == 0 and target ..

알고리즘 2023.02.07

프로그래머스(programmers) 사칙연산 python 정답[동적계획법 풀이]

프로그래머스(programmers) 사칙연산 python 정답[동적계획법 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(arr): arrs = ''.join(arr).split('-') val0 = sum(list(map(int, arrs[0].split('+')))) if len(arrs) == 1: return val0 min_val = 0 max_val = 0 for arr in arrs..

알고리즘 2023.02.07

프로그래머스(programmers) 도둑질 python 정답[동적계획법 풀이]

프로그래머스(programmers) 도둑질 python 정답[동적계획법 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(money): # 둘 다 안터는 경우는 존재하지 않는다. return max(visitLastSkipFirst(money), visitFirstSkipLast(money)) def visitFirstSkipLast(money): # 마지막 집을 안터는 경우 dp1 = [0] ..

알고리즘 2023.02.07

프로그래머스(programmers) 등굣길 python 정답[동적계획법 풀이]

프로그래머스(programmers) 등굣길 python 정답[동적계획법 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42898 문제 정답 def solution(m, n, puddles): # n x m 격자 puddles = [[q,p] for [p,q] in puddles] # 미리 puddles 좌표 거꾸로 dp = [[0] * (m + 1) for i in range(n + 1)] # dp 초기화 dp[1][1] = 1 # 집의 위치(시작위치) for i in range(1, n + 1): for j in range(1, m + 1): if i == 1 and j == 1: continue if [i, j] in pudd..

알고리즘 2023.02.07

프로그래머스(programmers) 정수 삼각형 python 정답[동적계획법 풀이]

프로그래머스(programmers) 정수 삼각형 python 정답[동적계획법 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 import copy def solution(triangle): dp = copy.deepcopy(triangle) for i in range(1,len(triangle)): for j in range(0,i+1): if j == 0: dp[i][j] = dp[i-1][j] + dp[i][j]..

알고리즘 2023.02.07

프로그래머스(programmers) N으로 표현 python 정답[동적계획법 풀이]

프로그래머스(programmers) N으로 표현 python 정답[동적계획법 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(N, number): # 0도 포함 주의 # 사용횟수에 따라 가능한 숫자를 담을 리스트 dp = [set() for i in range(9)] for i in range(1, 9): # 1~8 dp[i].add(int(str(N)*i)) # 단순히 이어붙인 숫자 # 0부..

알고리즘 2023.02.07

프로그래머스(programmers) 징검다리 python 정답[이분탐색 풀이]

프로그래머스(programmers) 징검다리 python 정답[이분탐색 풀이] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 정답 def solution(distance, rocks, n): answer, left,right = (0,0,distance) rocks.sort() while left

알고리즘 2023.02.06
반응형