728x90 반응형 전체 글438 [프로그래머스] 홀수 vs 짝수 (파이썬 풀이) 코딩테스트 연습 > 코딩 기초 트레이닝 > 홀수 vs 짝수 https://school.programmers.co.kr/learn/courses/30/lessons/181887?language=python3 해당 문제의 핵심은 enumertate 함수 사용인거 같다.리스트 안에 있는 수가 홀수인지 짝수 인지 판별하는것 이 아닌 리스트 인덱스의 짝수 홀수인지에 따라 구분하는 문제이다.그렇기 때문에 enumerate를 사용해 리스트의 인덱스와 값을 함께 순회하여 풀면 된다.num_list = [4, 2, 6, 1, 7, 6]def solution(num_list): # print(num_list); a = 0; b = 0; for index , value in enumerat.. 2024. 10. 20. [프로그래머스]게임 맵 최단거리.py (BFS) BFS를 사용한 풀이1. BFS(너비 우선 탐색) 는 먼저 시작점에서 인접한 모든 노드를 방문한 후, 그 다음으로 인접한 노드를 차례대로 탐색하는 방식입니다.2. BFS는 FIFO(First in First Out) 방식의 큐 자료구조를 사용하여 구현합니다.3. 각 노드를 방문하면서, 해당 노드까지의 거리를 저장합니다. 풀이 과정1. 큐를 이용하여 BFS 를 구현합니다.2. 시작점부터 탐색을 시작하고, 네 방향(상, 하 , 좌, 우)으로 이동할 수 있는 모든 경로를 탐색합니다.3. 갈 수 있는 곳일 경우(1), 그곳을 방문하고, 현재까지의 거리에서 1을 더하여 이동합니다.4. 끝점에 도달하면 그때의 거리를 반환합니다.5. 끝점에 도달할 수 없으면 -1 을 반환합니다. 2024. 10. 1. 깊이/너비 우선 탐색(DFS/BFS)_타겟 넘버.py(파이썬) DFS 를 사용하면 모든 경우의 수를 탐색하며, 각 숫자를 더하거나 빼는 두 가지 선택을 재귀적으로 수행합니다. 풀이 과정:1. 각 숫자를 순차적으로 선택하여, 더하는 경우와 빼는 경우를 모두 탐색한다.2. 모든 숫자에 대해 연산을 마쳤을 때, 결과값이 타겟 넘버와 같으면 방법의 수를 1 증가 시킵니다.3. 최종적으로 모든 경우의 수를 탐색한 후, 방법의 수를 반환합니다. def solution(numbers, target): answer = 0 # 타켓 넘버를 만들 수 있는 방법의 수를 저장하는 변수# dfs 함수는 현재 숫자의 인덱스(index)와 현재까지의 합(current_sum)을 받아 재귀적으로 호출됩니다. def dfs(index, current_sum): # nonl.. 2024. 10. 1. 조이스틱 Greedy name return"JEROEN" 56"JAN" 23def solution(name): # 조이스틱 조작 횟수 answer = 0 # 기본 최소 좌우이동 횟수 : 길이 - 1 min_move = len(name) - 1 for i, char in enumerate(name): # enumerate() 함수: enumerate()는 반복할 때 인덱스와 값을 동시에 제공하는 함수입니다. enumerate(반복_대상)은 (인덱스, 값) 형태의 튜플을 반환합니다. #앞으로 이동하는 경우 forward_move = ord(char) - ord('A') #뒤로 이동하는 경우 backward_move = ord('Z') - ord(char)+1 # 해당 알파벳 변경 최.. 2024. 9. 1. 이전 1 2 3 4 5 6 ··· 110 다음 728x90 반응형