알고리즘 문제/프로그래머스 (Level 2)

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef create_matrix(rows, columns): return [[row * columns + col + 1 for col in range(columns)] for row in range(rows)]def rotate(matrix, x1, y1, x2, y2): min_value = float('inf') prev = matrix[x1][y1] for y in range(y1, y2): current = matrix[x1][y+1] matrix[x1]..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef calculate_play_time(start, end): start_h, start_m = map(int, start.split(':')) end_h, end_m = map(int, end.split(':')) return (end_h - start_h) * 60 + (end_m - start_m) def convert_sharps(melody): return (melody .replace('A#', 'a') .replace('B#', 'b..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krimport heapqdef solution(N, road, K): def dijkstra(): heap = [] heapq.heappush(heap, (start, 0)) costs[start] = 0 while heap: node, cost = heapq.heappop(heap) if costs[node] 전형적인 Dijkstra 알고리즘 문제입니다.구조만 외워두면 음의 간선을 포함하지 않는 가중..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krfrom math import gcdfrom functools import reducedef solution(arrayA, arrayB): answer = 0 mods = [] gcdA = reduce(gcd, arrayA) gcdB = reduce(gcd, arrayB) def check(gcd_value, array): for num in array: if num % gcd_value == 0: return False ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krfrom itertools import combinationsfrom collections import Counterdef solution(orders, course): answer = [] for i in course: counters = [] for order in orders: for ch in combinations(order, i): counters.append(''.join(sorted(ch))) cou..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef solution(storey): answer = 0 while storey: digit = storey % 10 next_digit = (storey // 10) % 10 if digit > 5 or (digit == 5 and next_digit >= 5): answer += (10 - digit) storey += 10 else: answer += digit ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef solution(n): s = '124' if n dp적인 요소가 있어서 dp로 처음에 접근해보았다가 효율성 테스트에서 시간 초과가 발생하였습니다.조금 더 간단한 방법이 없을까를 고민하다가 재귀로 접근해보았습니다!진수 변환 과정에 있어 divmod() 함수가 크게 도움이 되었던 것 같습니다.
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.krdef solution(sequence, k): left = right = 0 current_sum = 0 min_length = float('inf') result = [] while right k and left 투 포인터를 활용한 슬라이딩 윈도우 알고리즘으로 문제를 풀어보았습니다.처음에는 브루트포스로 연속 합 방식도 사용해보고, dp를 이용해서도 풀어보았는데 확실히 배열 내 범위가 지정되거나 점차 늘려나가야하는 문제에 있어서는 슬라이딩 윈도우 방식이 적합해보입니다.요즘 들어 투 포..
ReJoy
'알고리즘 문제/프로그래머스 (Level 2)' 카테고리의 글 목록 (3 Page)