Algorithm 3

주요 알고리즘(3)-DFS/BFS

DFS깊이 우선 탐색, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 1.탐색 시작 노드를 스택에 삽입하고 방문처리를 한다2.스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문처리를 한다.방문하지 않은 인접노드가 없으면 스택에서 최상단 노드를 꺼낸다.3. 1,2번 과정을 더 이상 수행할 수 없을 때 까지 반복한다. #dfs 메서드 정의def dfs(graph, v, visited):  visited[v] = True #현재 노드 방문 처리  print(v, end=' ')  for i in graph[v]: #현재 노드와 연결된    if not visited[i]:      dfs(graph, i, visited)graph=[[], #2차원 리스트 자료형..

Algorithm 2024.05.15

주요 알고리즘-구현

상하좌우A는  1X1정사각형이 N개 있는 형태의 정사각형 공간위에 서있다. A는 상하좌우로 이동할 수 있으며 시작좌표는 (1,1)이다6개의 명령에 따라 L:왼쪽 이동,R:오른쪽 이동,U:위로 이동,D:아래로 이동A가 NXN을 벗어나는 움직임을 하면 무시된다. 도착좌표가 출력되도록 프로그램 작성하시오 -내 풀이                                                                                             -예제 코드                          n = int(input())move = list(input().split())x, y = 1, 1for i in move:  if i == "R" and y     y += 1 ..

Algorithm 2024.05.14

주요 알고리즘 -Greedy

거스름돈 거스름돈으로 사용할 돈 500원,100원,50원,10원 짜리 동전 있고 거슬러 줘야할 돈이 N원일때 거슬러 줘야할 동전의 최소개수 구하기 (N은 10의배수이다) '가장 큰 단위 화폐 부터 주자'라고 생각.  n=int(input())money = [500,100,50,10] #큰 단위 화폐순으로 정렬  count = 0for i in money:  count += n//i #해당 화폐로 거슬러 줄 수 있는 동전 개수 count  n %= i 큰 수의 법칙N개의 자연수를  M번 더하여 가장 큰 수 만들기. (연속한 수가 K번을 초과하여 더해질 수 없다) n,m,k=map(int,input().split()) # n,m,k 공백으로 구분하여 입력받기num=list(map(int,input().spl..

Algorithm 2024.05.14