목록코딩 알고리즘 (4)
영권's
문제 : 링크 이 문제는 시작점에서 도착점까지 제시된 방법에 따라 이동했을 때 최소 이동 횟수를 찾는 문제입니다. 풀이 각각의 입력 값을 받고 bfs를 통해 현재 위치에 대해서 이동가능한지 조건에 따라 확인 후 이동 가능하면 노드에 위치와 이동 횟수를 입력 받아서 다시 큐에 그 노드를 넣어서 bfs를 통해 탐색할 수 있도록 한다. 노드를 큐에서 뺄 때 도착점과 같다면 answer변수에서 노드에 담긴 count를 받아서 출력한다. 큐에 있는 데이터가 모두 빠졌는데 도착하지 못했다면 answer는 0일 것이고 도착할 수 없다는 뜻으로 BUG FOUND를 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt..
문제는 요점은 주어진 숫자 number에서 K개의 숫자를 뺀 수 중 가장 큰 수를 찾아라 입니다. 방법1 n의 자릿 수 - k = 가장 큰 수의 길이가 됩니다. 예를 들어 "4177252841"이 주어지고 k가 4가 주어져서 결과 값의 자릿수가 6자리라고 했을 때 OOOOOO k개의 숫자를 뺀 결과 값이 가장 큰 수의 첫번째 자리에 올 수 있는 수는 n에서 인덱스가 0~k까지에 해당하는 수 중 가장 큰 수 가 됩니다. 두번째 자리에 올 수 있는 수는 n에서 인데스가 1~k+1에 해당하는 수 세번째 자리에 올 수 있는 수는 n에서 인데스가 2~k+2에 해당하는 수 ... 이런식으로 해당 자리에 오는 수 중 큰 자릿수 순서대로 하나씩 찾는데 그 해당하는 자리 수 보다 앞자리에 올 수 는 없기 때문에 마지막으..
https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 이 문제는 주어진 구간에 해당하는 소수를 찾는 문제인데 일반적으로 반복문을 이용해서 푼 후 에라토스테네스의 체라는 알고리즘을 알게 되어 2가지 방법으로 풀어 보았다. 소수(Prime Number)는 1보다 큰 자연수 중 1보다 큰 자연수 중 1과 자기 자신만을 약수로 갖는 자연수이다. 즉 소수의 약수는 2개만을 가지며 그 중 하나는 반드시 1이며, 나머지 자기 자신만을 약수로 갖기 때문에 1보다 크고 자기 자신의 수보다 작은 약..
programmers.co.kr/learn/courses/30/lessons/43164 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 ICN 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수..