728x90 Programming/Python46 [프로그래머스] 조이스틱 기본 아이디어오른쪽 갔다가 왼쪽으로 돌아가는 경우왼쪽으로 가다가 오른쪽으로 돌아가는 경우def solution(name): move = len(name) - 1 cnt = 0 for chr in name: cnt += min((ord(chr) - ord('A')), 26 - (ord(chr) - ord('A'))) for i in range(len(name)): next_idx = i + 1 while next_idx 글자 구현은 엄청 쉬웠고위치 구현이 헷갈렸는데, 단순하게 생각하고 일단 구현하는게 중요한 것 같다 엣지케이스부터 자꾸 떠올리니 밑도끝도 없이 헷갈려했다 2025. 4. 8. [프로그래머스] 소수 찾기 기본 아이디어조합?은 아니고 순열순열/조합 라이브러리 써야지맨 처음 숫자가 0인 케이스 주의해야지from itertools import permutationsdef check_prime(n): if n 소수: 1과 자기 자신만을 약수로 가지는 1보다 큰 자연수소수판별 함수를 따로 두는 것이 좋다n = int(''.join(list(p))) 리스트형태의 숫자들을 하나의 값으로 합쳐내기 위해 이렇게 했다. 2025. 4. 7. [백준] 2606 | 바이러스 기본 아이디어딕셔너리로 노드 연결 관계 정의해주기bfsfrom collections import dequedef solution(graph): queue = deque([1]) visited = set() visited.add(1) while queue: root = queue.popleft() for neighbor in graph.get(root, []): if neighbor not in visited: queue.append(neighbor) visited.add(neighbor) return len(visited) - 1if __name__ == "__main__": .. 2025. 4. 7. [프로그래머스] 게임 맵 최단거리 기본 아이디어bfsfrom collections import dequedef solution(maps): n = len(maps) m = len(maps[0]) ax = [-1, 0, 1, 0] ay = [0, 1, 0, -1] queue = deque([(0, 0, 1)]) visited = set() visited.add((0, 0)) while queue: x, y, cnt = queue.popleft() if x == n - 1 and y == m - 1: return cnt for dx, dy in zip(ax, ay): nx, ny = x + dx, y + dy .. 2025. 4. 7. [프로그래머스] 더 맵게 기본 아이디어힙큐하라는대로 구현import heapqdef solution(scoville, K): heapq.heapify(scoville) count = 0 while scoville: first = heapq.heappop(scoville) if first >= K: break if len(scoville) == 0: return -1 new = first + heapq.heappop(scoville) * 2 heapq.heappush(scoville, new) count += 1 return countheapq.heapify는 리스트를 힙으로 바꿔서 반환하는 것이.. 2025. 4. 2. [프로그래머스] 타겟 넘버 기본 아이디어dfs, 다음 숫자 더하기, 빼기를 모두 스택에 담기def solution(numbers, target): stack = [(0, 0)] # index, current_sum count = 0 while stack: index, current_sum = stack.pop() if index == len(numbers): if current_sum == target: count += 1 else: stack.append((index + 1, current_sum + numbers[index])) stack.append((index + 1, curren.. 2025. 4. 2. 이전 1 2 3 4 5 6 ··· 8 다음 728x90