dfs 3

[백준] 1976.여행 가자 (Swift, Java)

[백준] 1976.여행 가자 (Swift, Java) https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 풀이 1. BFS 입력은 인접행렬로 표현된 그래프가 주어지고, 마지막 줄에는 방문할 노드들이 순서대로 주어집니다. 처음에는 단순히 방문한 노드들을 차례대로 2개씩 뽑아서 BFS 를 진행할 생각이었습니다. 최단 경로가 존재한다면 true 를 리턴하고, 존재하지 않는다면 false 를 리턴하는 방식으로 접근하면 된다고 생각했습니다. 하지만 m 번만..

[프로그래머스] 네트워크 (Swift)

[프로그래머스] 네트워크 (Swift) https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 풀이 이차원 배열로 주어진 그래프 정보에서 총 그래프의 개수를 구하는 문제입니다. 해당 문제를 풀기 위해서는 한 그래프를 모두 탐색한 다음 그 횟수를 구하면 된다고 생각했습니다. DFS 나 BFS 모두 한번 실행할 시 그래프 전체를 탐색하지만 이번에는 DFS 를 활용해봤습니다. 그래프 탐색 여부를 저장하기 위해 먼저 ..

[프로그래머스] 다단계 칫솔 판매 (Swift)

[프로그래머스] 다단계 칫솔 판매 (Swift) https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 이해 아래 그림과 같이 생긴 다단계 수익 구조가 있고, 판매원이 칫솔을 하나 판매할때마다 자신은 수익의 90% 를 가져가고 자신의 parent 에게 수익의 10% 를 나눠줍니다. 주어진 배열을 이용해 이를 반복하였을 시 판매원들이 가져가는 수익을 계산하는 문제입니다. 얼마전에 트라이 자료구조 관련한 문제를 풀..