보행자 천국 (카카오 코드 페스티벌 예선 2017 문제 풀이) 문제 내용 : 위와 같다. 도로의 맵이 2차원 배열로 주어지고 값으로 0~2 값이 저장되어 지나갈 수 있는 조건을 나타내게되며, 우측하단까지 도달하는 경우의 수를 찾는 문제다. 입력 형식 : 배열의 크기 m, n과 배열 내부의 값 city_map을 받는다. 출려 형식 : 출력은 시작점에서 도착점까지 도달할 수 있는 경우의 수를 출력하면된다. 풀이 : 나는 result 함수에서 결과를 계산하도록 했다. 맵의 크기와 시작좌표 0, 0을 받게되고 추가로 방향 direction을 받았다. 열거형을 사용해서 이전에 진행해오던 방향을 받았다. 왜냐하면 2인경우에 오던 방향으로만 갈 수 있기 때문에 진행방향을 받는다. 코드 9라인에서 map의 범위를 초과..
Flood fill 알고리즘 (카카오프렌즈 컬러링북 문제)문제내용 : 위와같이 배열로 된영역에 특정 색이 값으로 주어지면 영역의 개수와, 가장 큰 영역이 차지하고 있는 칸 개수를 출력하는 문제입니다. 입력형식 : 배열의 크기를 나타내는 m과 n을 입력받아서 2차원 배열 picture를 참고해서 문제를 풀면된다.출력형식 : 출력은 answer 배열로 2개의 정수를 가지는 2칸짜리 배열이다. 영역의 개수와 가장 큰영역이 차지하고있는 칸 개수를 순서대로 answer배열에 담아 반환하면된다. 풀이 : 우선 vector를 사용하기 때문에 include 해준다. 그리고 전역변수로 vector를 하나 선언한다. 이때 이차원 배열처럼 사용할 것이므로 벡터선언시 코드 6라인과 같이 선언한다. flood_fill 함수 :..
ECDSA(타원 곡선 전자 서명 알고리즘) for 파이썬(python) library 타원 곡선 알고리즘은 기존에 많이 사용되던 RSA알고리즘보다 작은용량을 가지면서도 더 빠른 수행능력을 가진 암호화기술입니다. 그 때문에 최근 차세대 암호화기술로 조명받고 있으며, 그 예시로는 비트코인에서도 타원곡선알고리즘(Elliptic Curve Cryptography)을 사용하고 있습니다. 보다 자세한 내용은 생략하고 본 글에서는 파이썬에 있는 ECDSA 라이브러리를 사용하는 방법을 알아보도록 하겠습니다. 참고 사이트 : python-ecdsa 라이브러리 주요 특징 해당 라이브러리(Pure-Python ECDSA)의 주요 특징은 키생성,인증생성 그리고 확인하는 방식을 제공합니다. 키 길이는 192, 224, 256,..