목록Algorithm (45)
Hippo's data

백준 문제를 풀다보면 공약수, 공배수를 활용하는 문제들을 찾아볼 수 있다. 그중 최대 공약수GCD(Greatest Common Divisor), 최소 공배수LCM(Least Common Multiple)를 구하는 문제들이 있는데 이 경우 유용하게 이용할 수 있는 정의가 있는데 바로 '유클리드 호제법'이다.유클리드 호제법은 유클리드의 원론에 적혀있는 정의로 한국 수학교육과정에서는 자세하게 다루지 않는 내용이다.유클리드 호제법을 통해 최대 공약수를 간단하게 구할 수 있다. # 최대 공약수 GCD(Greatest Common Divisor)자연수 a,b가 주어졌을때 a 를 b로 나눈 나머지가 r인 경우 a,b의 최대 공약수와 b와 r의 최대 공약수가 동일하다이를 응용하면 a를 b로 나눈 나머지 r을 구하고..

꾸준함!! 야심차게 백준 장학금에 도전한지 벌써 2주차가 지났다 시간참빠르네.... 1주차를 마친 후 "잠은 죽어서 자는거 아닌교" 라며 스스로를 더욱더 몰아쳤던 나 현재 빅리더 인턴쉽 프로그램과 같이 병행하다보니 부족한 시간을 쪼개가면서 너무 달렸던 것 같다 무슨소리야 잠은 제때자야지 새벽 늦게까지 스터디하고 다음날 하루종일 졸고 무한반복!!!! 이게 뭐냐구.... 그래서 한가지 결론에 이르렀다 우리는 지금 단거리달리기를 하는게 아니고 긴 마라톤경주를 하는거야 꾸준함을 지키자!!! 목표점검 1일 1문제 백준 풀기 아직까진 1일1문제 업로드 유지중이다... 목표를 너무 높게 잡았나 초반에는 쉽게쉽게 해냈는데 어려운 문제들을 여러개 접하다보니 허공에 삽질하는 느낌? 아니 해내야지뭐 블로그에 주1회 공부내용..

오늘의 포스팅은 자료구조인 스택, 큐, 덱입니다!! 특히 차례대로 쌓이는 작업을 어떤 순서대로 처리할지 나타내는 자료구조들 입니다 알고리즘 문제를 풀 때 막무가내로 풀다가 시간초과가 나는 경우가 빈번한데요 특정 상황에서 위 자료구조를 사용하면 시간단축을 확실히 할 수 있습니다!! # 스택(Stack) - 한쪽에서만 넣고 뺄 수 있음 LIFO(last-in,first-out) = 후입 선출 책이 점점 쌓임 - 마지막에 쌓은 책을 제일먼저 꺼내는 것 예) 웹 브라우저 방문이력 확인 / 텍스트 에디터 되돌리기 기능 ->파이썬에서는 list 자료형으로 구현 stack = [1,2,3] 선언 -> 시간복잡도 O(1) stack.append() 자료 넣기 stack.pop() 자료 빼기 -> stack.pop(i)..

- 백준 장학금 신청하게 된 이유 우연이었다. 나는 지금 학기를 휴학하고 빅리더 인턴쉽 프로그램에 참여하고 있다 여기서 태어나서 처음으로 알고리즘 문제란 것을 처음으로 접했다 알고리즘 특강을 매주 듣다보니 든 생각 오 이거 생각보다 재밌는데? 랭킹 시스템도 있길래 아니 이거 게임아니야? 그이후로 짬날때마다 문제를 풀기 시작했다. 아 알(고리즘)손실 나네 .... 문제 풀어야겠다 난 알친놈... (알고리즘에 미친놈)이 될거야!! 이러면서 한참 까불던중 팀 스터디 누나가 좋은 기회를 추천해주셨당 빠밤 백준 장학금모집 오 이거 내껀ㄷ 그래 이번기회에 블로그정리 습관도 기르고 장학금 까지 받으면 좋자나? 버스에서 급하게 지원서를 작성하던중 한달간의 목표 3가지를 정하란다 아 뭐하지 애초에 난 알고리즘 문제를 풀..

알고리즘 첫 포스팅이다. 무엇을 할까 고민하다가 요즘 엄청난 문제상황에 처했다.아니 뭐냐규 이거 어떻게 해결해야함....문제 풀때마다 시간초과 오류발생.... 검색하다보니 시간복잡도라는게 있더랬다 좋은 알고리즘은 무엇일까? -> 빠르고 효율적이다어떻게 측정할 수 있지?이때 참고할 수 있는게 '복잡도'개념이다. 복잡도에는 시간복잡도(Time complexity) , 공간 복잡도( Space complexity)가 있다. 시간 복잡도 - 알고리즘의 계산시간 측정공간 복잡도 - 알고리즘의 메모리 사용량 측정 - 시간복잡도를 어떻게 표기할 수 있을까? 표기법에는 3가지가 있다.- 란다우 빅오 표기법 (Big O) - 오메가 표기법- 세타 표기법 대중적으로 란다우 빅오 표기법을 널리 사용하므로 란다우 빅오 ..