Python
[Python] 백준 1003번 : 피보나치 함수
1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 다음 소스는 N번째 피보나치 함수를 구하는 함수이다. fibonacci(3) 을 호출하면 다음과 같은 일이 일어난다. fibonacci(3) 은 fibonacci(2) 와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2) 는 fibonacci(1) (두 번째 호출)과 fibonacci(0) 을 호출한다. 두 번째 호출한 fibonacci(1) 은 1을 출력하고 1을 리턴한다. fibonacci(0) 은 0을 출력하고, 0을 리턴한다. fibonacci(2) 는 fibonacci(1) 과 fibonacci(0) 의 결과를 얻고,..
[Python] 백준 18352번 : 특정 거리의 도시 찾기(BFS)
18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 문제 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. 이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다. 예를 들어 N=4, K=2, X=1일 때 다음과 같이..
[Python] 백준 18406번 : 럭키 스트레이트
18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 문제 어떤 게임의 아웃복서 캐릭터에게는 럭키 스트레이트라는 기술이 존재한다. 이 기술은 매우 강력한 대신에 항상 사용할 수는 없으며, 현재 게임 내에서 점수가 특정 조건을 만족할 때만 사용할 수 있다. 특정 조건이란 현재 캐릭터의 점수를 N이라고 할 때 점수 N을 자릿수를 기준으로 반으로 나누어 왼쪽 부분의 각 자릿수의 합과 오른쪽 부분의 각 자릿수의 합을 더한 값이 동일한 상황을 의미한다. 예를 들어 현재 점수가 123,402라면 왼쪽 부분의 각 자릿수의 합은 1+2+3, 오른쪽 부분의 각 자릿수의 합은 4+0+..
[OpenCV with Python] 특징점 검출과 매칭 : 코너 검출
코너 검출 코너는 영상안에서 그림이 나타날 때 객체가 뾰족하게 튀어나온 부분이다. 코너는 변별력이 높은 편이며, 영상의 이동, 회전 변환에 강하다. 이와 반대로 평탄한 영역(flat)과 에지(edge) 영역은 고유한 위치를 찾기 어렵다. A : 평탄 B : 엣지 C : 코너 평탄한 영역은 하늘에서 추출한 부분 영상으로, 이 부분 영상이 원본 영상에서 어느 부분인지 명확하지 않다. 모호한 부분이 많아 변별력이 떨어지며, 영상의 특징을 설명하는 데 적합하지 않다. 에지는 바다와 하늘이 만나는 부분으로, 원본 영상에서 x좌표가 명확하게 어느 부분인지 정확하게 찾기가 어렵다. 고유성과 변별성이 떨어진다. 코너는 로컬한 특징을 갖고있어서 변별성이 있고 고유성이 있다. 코너점을 찾아서 점들의 특징을 이용하여 두 개..