본문 바로가기
반응형

Programming/Algorithm35

알고리즘 기초 알고리즘이란? 알고리즘이란 "문제 해결 절차를 체계적으로 기술"한 것입니다. 그러면 알고리즘에서 말하는 문제는 무엇일까요? 알고리즘에서 말하는 문제는 주어지는 입력이 있다면, 그 입력에 맞는 출력을 내는 것을 말합니다. 문제에는 입력과 출력이 명시되어야 하며, 어떤 출력을 원하는지 문제에서 충분히 설명되어야 합니다. 입출력의 예로 들어볼께요. 문제 해결 절차를 체계적으로 기술한다는 의미는 입력을 받아서, 그 입력을 바탕으로 출력을 만드는 기술을 의미합니다. 2020. 1. 15.
프로젝트 오일러 간만에 들어가 본 프로젝트 오일러 사이트입니다. 영문 사이트이기 때문인지, 한국 사람들은 많이 하지를 않네요. 옛날에는 백준 아이디도 많이 보였는데, 활동을 안 하는지, 한국인 순위 리스트에서 사라진 것 같습니다. 한때 10위권 안에 들어가 있었는데, 15위로 순위가 전 하락했네요. 시간이 날 때, 가끔씩 풀어봐야겠네요. 박재현님은 1위를 굳건하게 지키시고 계시네요. 아무래도 외국에 계시는 분이시니, 영문 사이트가 편하실 수 있겠다는 생각은 했습니다. 2019. 12. 20.
요즘은 백준 알고리즘 사이트 풀고 있습니다. 프로젝트 오일러 사이트 하다가, 회사 사람들하고 시작했던 백준 사이트. 어느덧 1,000문제를 넘어서긴 했는데, 아직까지 탑순위권 사람들하고 격차는 멀기만 하네요. 초창기에는 많은 문제를 풀었지만, 시작한지 이제 4달? 정도 되었는데, 슬슬 지겨워지고 있네요. 티스토리 블로그 기록도 점점 안 하고 있지만. 10위권으로 들어가는 게 목표인데, 문제가 너무 많네요. 특히 특이케이스에 걸리면, 골치 아프고. 가능하면 이미 나온 솔루션이 아니라 나만의 방법을 찾으려고 하다보니 벽이 느껴질 때가 많네요. 예를 들어서 BFS로 조금 무식하게 풀 수 있는 문제를 오더를 줄이기 위해서 DFS를 이용해서 O(|V||E|)으로 풀어본다던지. 하고 싶은 일들은 많은데, 귀차니즘+나태니즘의 연속. 2019. 11. 21.
프로젝트 오일러 #152를 풀면서.. 프로젝트 오일러 #152를 풀면서 몇가지 새롭게 구현했던 것들이 많았네요. 기본적으로 모든 조합을 찾기 위해서는 $O(2^n)$인 탓에, 35, 45개일 때는 그나마 적정한 시간에 구할 수 있었지만, 80개에서는 그것이 안 되었네요. 이럴 때, 경우의 수를 줄여주는 것이 필요한데, 어떤 식으로 경우의 수를 줄일 것인지 고민을 많이 했네요. 더더구나 문제가 3의 배수는 총 26개나 나온다는 것이었죠. 처음에는 그룹을 지어서 할 생각이었는데.. 그룹을 지으면 전혀 안 되는 문제라는 사실을 조금 고민하면서 알게 되었네요. 회사에 있으면서도 어떻게 풀까 고민했었는데.. 결국 경우의 수를 줄이는 방법을 생각했고, 제 구닥다리 노트북에서도 0.1초에 답을 내었네요. 여러가지 연산시간을 줄이는 방법도 생각을 했었는데.. 2016. 7. 10.
프로젝트 오일러 현재 진행 상태 1번부터 차례로 풀어나가다가, 너무 지겨워져서, 뒤의 문제들을 도전하고 있습니다. 이왕이면 신상을 도전하고 있는데, 이게 쉽게 풀리지는 않네요. 현재 제가 푼 상태입니다. 생각같아서는 레벨 올리는데 더 신경을 쓰고 싶은데, 시간도 없고해서 가능하면 뒤의 문제들을 풀어보고 있네요. 그런데 100번대를 넘어서면, 이게 쉽게 문제가 풀리는 것이 아니네요. 2015. 4. 16.
프로젝트 오일러 사이트 친구 등록 프로젝트 오일러 사이트에는 친구를 등록할 수 있는 것이 있네요.등록된 친구의 경우, 현재 진행정도를 알아볼 수 있지만, 커뮤니티도 없고요. 아쉬운 점들이 꽤 많이 있지만,... 저를 친구로 등록할 수 있는 키를 올립니다.필요하신 분 등록해주세요. ^^ 제 친구 키 : 714246_14c0fa3eb63335b3dc6b8ef5624fd4d0 2015. 4. 5.
728x90