본문 바로가기
My Image
반응형

Algorithm/Algorithm8

[Algorithm] SW Expert Academy - 1953. [모의 SW 역량테스트] 탈주범 검거 해설 삼성 SW 모의 테스트 #1953 - 탈주범 검거 https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq 사용한 개념 1. BFS탐색2. 시뮬레이션 이 문제에서 2가지 포인트만 알면 됩니다..1. 각 파이프마다 이동할 수 있는 방향이 정해져 있다는 것2. 정해진 방향으로 넘어가더라도 넘어간 파이프의 모양이 연결되어 있지 않다면 실제로 넘어갈 수 없다. 이 2가지를 조건을 걸어서 필터를 해줘야합니다.. 아래는 전체소스 입니다. package SWE; import java.awt.Point; import java.io.BufferedReader; import java.io.IOExcepti.. 2019. 3. 24.
[Algorithm] JAVA 중복 순열 알고리즘 (재귀) 안녕하세요. Limky 입니다. 이번시간에는 경우의 수 중에 순열에 대해서 알아보겠습니다. 헌데, 순열은 순열이지 왜 중복순열이라고 했을까요?? 당연 중복순열과 중복되지 않는 순열은 조금 다릅니다. 자기자신을 포함하냐 안하냐에 따라 순열과 중복순열로 구분합니다! 예제를 들어 설명해보겠습니다. 여기 구슬 3개가 있습니다. 1, 2, 3 중복이 없는 순열은 자기자신을 제외하고 모든 경우의 수를 생각하는 것입니다. 3개의 구슬중에 2개를 뽑는 경우의 수는 아래와 같습니다. 1, 2 1, 3 2, 1 2, 3 3, 1 3, 2 입니다. 총 3 X 2 = 6가지 이지요? 하지만!! 중복순열은 다릅니다. 자기자신을 포함하죠.... 똑같이 구슬 3개가 있습니다. 1, 2, 3 중복을 허용해서 뽑으면 아래와 같습니다... 2019. 2. 21.
[알고리즘] 다익스트라 최단거리 알고리즘(Dijkstra) 다익스트라 최단거리 알고리즘(Dijkstra) 다익스트라 알고리즘은 워낙 유명하죠 ㅎㅎ 다익스트라 알고리즘은 그래프에 있어서 탐색 시작 노드에서 탐색할 노드까지의 최단거리를 구하는 알고리즘입니다. 다익스트라 알고리즘은 실생활에서도 많이 쓰입니다. 지하철 최단거리 노선을 알려준다거나, 네비게이션 최단 경로를 알려주는 등 굉장히 활용도가 높은 알고리즘 입니다. 일단 노드간 가중치가 있어 최단거리를 구할 수 있습니다. 연결되 노드간 가중치의 합이 최단거리라고 할 수 있기 때문이죠. 아래 전체소스에 주석으로 상세히 적어놓았으나, 몇가지 포인트는 알고있어야 합니다. 원리는 다음과 같습니다. 경로를 통해 지나온 노드간 가중치들의 합이 가장 작은 값을 계속 갱신하며, 최단거리 가중치 합을 구하는 것입니다. 예를 들어.. 2018. 12. 25.
[Algorithm] JAVA로 중복이 없고, 순서도 없는 조합(Combination) 구하기! JAVA로 중복이 없고, 순서도 없는 조합(Combination) 구하기! 이번 시간은 JAVA로 중복이 없는 조합을 구하는 방법에 대해 알아보겠습니다. 우선 1,2,3 구슬이 있습니다. 3개중에 2개를 뽑는다고 했을때, 모든 경우의 수는 다음과 같습니다. 1,2 1,3 2,1 2,3 3,1 3,2 총 6가지 입니다. 팩토리얼 개념으로 접근하면 3*2 = 6 가지임을 알 수 있습니다. 이제 여기서 중복을 제거한 경우의 수만 따진다면, 1,2 1,3 2,3 총 3가지 입니다. 이를 조합이라고 합니다. 수학적인 기호로 나타내면! nCr 입니다. 즉, 중복이 없고, 순서도 없는 경우의 수(조합)입니다. n은 총 갯수, r 은 뽑아야 할 갯수 입니다. 저는 배열과 재귀함수를 통해 nCr에 대해서 구해보겠습니다... 2018. 6. 13.
반응형