본문 바로가기

프로그래밍7

[백준] 1003번 피보나치함수 0이 출력되는갯수, 1이 출력되는갯수를 구해라. fibo(3) 의 경우 fibo(2) 와 fibo(1)로 나뉜다. fibo(2) 의 출력갯수와 fibo(1)의 출력갯수의 합만큼 출력한다. fibo(4) 또한 fibo(3)와 fibo(2)로 나뉘며 결국 fibo(3)의 출력갯수와 fibo(2)의 출력갯수의 합만큼 출력된다. 단순히 0에대한 피보나치 1에대한 피보나치만 구해주면 되는문제이다. 의외로 정답률이 낮다.. #include #include #include typedef long long big_int; void getfiboCount(big_int n, big_int& out0, big_int& out1){ if (n == 0){ out0 = 1; out1 = 0; }else if (n == 1){.. 2019. 12. 16.
[백준] 9663번 N-QUEEN 사고력을 키우는데 알고리즘이 좋대서 요즘 계속 풀어보고있는중에 이문제를 만났다. 10초라는 조건때문에 여유가생겨서 그런지 처음 N과 M시리즈를 만났을때보다 쉽게 풀었다. 처음에는 X좌표를 0,1,2,...,N으로 해서 이웃하지 않는 순열을 만들어 풀려고했는데, 생각외로 어려웠고 대각방향도 생각해줘야 된다는걸 깨달아 그냥 정공법으로 풀이방향을 바꿨다. 같은 행 같은 열에는 무조건 있으면 안되는 점에서 Y에대한 X좌표 vector를 만들고 X좌표에 대해서 루프를 돌면서 비어있는 부분이 나온다면, 재귀를 호출하는 방식으로 풀었다. #include #include #include void solve(int N, std::vector& visit, std::vector pointX, int y,int& cnt){.. 2019. 12. 16.
0. 프로그래밍 퀴즈작성을 시작하며 코딩 실력을 늘리는데 가장 좋은 것은 역시나 프로그램을 제작하는겁니다.또한, 코딩에 대한 흥미를 잃었을때도 그렇다고 생각합니다. 하지만, 이론적으로 코딩을 배우긴 했지만 막상 프로그램을 만드려고 하니 주제를 선정하는데 어려움을 겪는 경우가 다반사입니다. 그래서 저를위해 그리고 어쩌면 이 블로그를 보는 분들을 위해 여러 문제나 특정 주제(게임, 수학 등)에 대한 프로젝트 기획 등을 작성하려고 합니다. 현재 군 복무중이기에 휴가를 나올때마다 미리 생각해 놨던것들을 하나씩, 하나씩 작성해보고 그것에 대한 저의 정답도 작성해 보려고합니다. 아 물론, 저는 실력자가 아니기에 저의 정답은 그렇게 뛰어나지 않을수도, 아니 너무 초보적일수도 있습니다. 하지만, 제가 카테고리에 문제를 작성하고 풀어가면서 코딩에 대해 잃.. 2019. 1. 17.