가지고 있는 랜선의 개수 K개에서 필요한 랜선의 개수 N개로 만들 때 랜선의 최대 길이를 구하는 문제입니다. 여기서 우리가 주목해야 할 점은 랜선의 길이(출력 값)로 만들 수 있는 랜선의 개수(N)를 구하기 쉽다는 점입니다. 이는 결국 Brute force로도 실행시간
먼저 다음 두가지 조건을 눈여겨 볼 필요가 있습니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다.모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 첫번째 조건으로 부터 얻을 수 있는 것은 알파벳 순서가 앞서는 경로가 답
단순하게 Brute force로 푼다면 O(N²)이 걸리는 문제입니다. 하지만 stack을 이용하여 카운팅을 한다면 O(N)에 끝날 수 있는 문제입니다. 대략적인 카운팅을 하는 방법은 stack의 맨 위의 자료보다 작은 자료가 들어오는 경우 하나씩 카운트를 증가 시키며
이 문제에서는 재귀가 큰 삼각형 안에서 작은 삼각형이 반복되는 형식으로 되어있습니다. 그러므로 이 문제는 재귀를 하면서 곧 바로 콘솔에 출력하는 형식으로는 해결할 수 없는 문제입니다. 그렇기 때문에 이 문제는 공간에 메모리를 할당한 후에 별을 찍는 과정을 재귀로 구현해
각각의 빈칸에 들어갈 숫자가 되는지 안되는지는 무차별로 대입해서 알아야 합니다. 무차별로 대입하는 방법은 가로에서 같은건 없는지 세로에서 같은건 없는지3⨯3블럭에서 같은건 없는지이렇게 총 3가지를 확인해야 합니다.가로와 세로에서 같은 숫자가 있는지 없는지는 각각의 열(
조이스틱을 가로로 조작하는 경우랑 세로로 조작하는 경우 두 경우는 따로 계산해도 상관없다. 그러므로 두 경우를 따로 구해서 더해주면 된다. 조작하는 알파벳으로 A에서 위쪽으로 조작하는 것이 빠른지, 아니면 A에서 아래쪽으로 조작하는 것이 빠른지 둘 다 계산을 해준 후에
이 문제는 무작정 코드에 있는 버블 소트를 복사 붙여넣기를 한다면 시간초과가 일어난다.그러면 $O(N^2)$이 아닌 다른 방법을 찾아야 한다.위와 같은 버블 소트를 직접하면 다음과 같은 일이 발생한다.10 1 5 2 310 1 5 2 31 10 5 2 31 5 10 2
모든 미노의 경우의 수를 Brute Force하면 됩니다.