본문 바로가기

전체 글41

패스트캠퍼스 챌린지 29일차 와..! 벌써 29일..! 오늘까지 하고 내일까지 쓰면 드디어 끝..! 얼마 안남았다..! 화이팅이다 나..! 오늘은 너무나 머리가 아픈 나머지 낮잠을 자고 오후 늦게 활동을 시작했다.. ㅠ 그마저도 헤롱한지라 조금 더 쉬다가 시작했다..! 그래서 오늘은 PS도 하나밖에 못했고, 과외가 있던 탓에 c++강의도 한 개 밖에 못들었다.. ㅠ 아무튼 그래서 오늘 배운 내용은..! 바로 동적 결합과 정적 결합이다. 이 둘은 오버로딩과 오버라이딩에서 사용되는 개념인데, 정적 결합은 컴파일하는 순간에 같은 이름의 함수끼리 어떤 함수가 호출될지 결정되는 것을 이야기하고, 동적 결합은 컴파일하는 순간에는 같은 이름의 함수끼리 어떤 게 호출될지는 몰라도, 프로그램이 실행되는 중간에 그것이 결정되는 것을 이야기한다고 한다.. 2021. 11. 29.
패스트캠퍼스 챌린지 28일차 오늘은 드디어..! 벼르고 벼르고 벼뤘던 FFT를 c++로 코딩하고 사용해본 날이다..! FFT.. 생각보다 엄청난 효과를 가진 녀석인 것 같다. 활용 방안이 무궁무진할 것으로 보이는 데, 다만 PS에서 어떻게 많이 이용될지는 솔직히 감이 잘 안온다. 아무튼 재귀 방식으로 FFT를 구현해봤고, 다음 번엔 비재귀방식으로 구현해보는게 목표이다. (비재귀방식이 역시나 조금 더 성능이 좋은 모양이다.) 이론적으로는 아직 제대로 이해를 한 건 아니다... ㅠ 이해하려면 DTFT부터 이해하고 해야하는데 혁펜하임 강의를 봐도 솔직히 잘 모르겠다.. 아무튼 FFT를 이용해서 큰 수 곱셉 문제를 드디어 해결했다..! 덕분에 플레2에 간건 덤 ㅎㅎ..! 오늘은 기분이 좋다..! 오늘 배운 강의는 가상 함수에 대한 것이었다.. 2021. 11. 28.
패스트캠퍼스 챌린지 27일차 주말..! 이지만 역시 오늘도 거를 수 없다..! fft는 뒤로 미루기로 했지만, 아직 나에겐 큰 수의 소인수분해를 위한 알고리즘을 공부해야한다는 사명이 남아있었다. 그래서..! 오늘 한 것은 바로 밀러-라빈 소수 판정과, 폴라드 로 인수 분해 알고리즘이었다. 밀러-라빈 소수 판정법은 기본적으로 페르마의 소수판정법을 여러 개의 수에 대해 실행하는 것이고, 시간 복잡도가 O(klog^3(n))이다. 폴라드 로 인수 분해 알고리즘은 유사 난수의 mod n이 mod p에 대해서 먼저 순환을 갖게 되는 것을 이용하는 알고리즘으로 O(n^(1/4)) 였다. 이 두 개를 적절히 조합하면 소인수분해 알고리즘을 만들 수 있었고, 이를 이용해서 3개의 다이아 문제를 풀어내었다..! 그러고 나서 c++수업을 들었다..! .. 2021. 11. 27.
패스트캠퍼스 챌린지 26일차 오늘은 FFT관련 강의를 여러 개 들었는데 결국 별로 이해할 수 있는 게 없었다.. 신호처리에 관한 이론 공부를 더 자세히 해야 하는 걸까나.. 혁펜하임이라는 유튜브 사이트가 있던데, 이를 완벽하게 이해하려면 처음부터 강의를 듣는데 꽤나 오랜 시간에 걸릴 것 같다. 제대로 된 책을 사서 공부를 해야 할까 싶기도 하다. FFT에서 공부 의욕도 완전히 잃고.. 오늘은 좀 우울하다. 며칠 째 제대로 공부되는 게 없다.. 너무 어렵고 이해하더라도 구현 단계에서 에러가 발생한다.. 스플레이 트리를 이용해서 구간 쿼리 문제를 풀어보려고도 했었는데.. 이상하게 에러가 떠서 fail.. 기본적인 구현 자체는 크게 문제가 없는 것 같은데.. 어디서 문제가 생긴 걸까.. 도저히 뭐가 문제인지 알아낼 수가 없다.. ㅠ 결국.. 2021. 11. 26.