본문 바로가기

전체 글

(58)
백준 3042 트리플렛(C++) https://www.acmicpc.net/problem/3042 위와 같은 문제입니다. 처음에 문제를 봤을때 당황했었던 문제입니다. 문제는 N*N 격자 위에 있는 세 점이 같은 직선위에 있는 것을 트리플렛이라고 하는데 이의 개수를 찾는 문제였습니다. 제가 처음에 문제를 봤을때 점이 있을수 있는 위치는 N^2고 세점이므로 N^6이되니까 어떻게 풀지 막막했는데.... 역시 문제를 잘봐야 한다고 문제에 알파벳을 여러칸에 쓸수 없으므로 최대 N*N격자 위에 26개의 점밖에 올라갈수 없었습니다. 그러면 시간복잡도가 26^3이 되고 완전탐색을 통해 해결할 수 있습니다. 이제 완전탐색중 고른 세 점이 같은직선위에 있는지 확인해야하는데 세 점을 각각 A,B,C라고 하고 각각의 좌표를 A(Ax,Ay) B(Bx,By) ..
memset함수가 반복문을 통한 초기화보다 빠를까? 최근에 백준 알고리즘문제를 풀다가 문득 생각이들었다. 어짜피 반복문을 통한 초기화나 memset 함수나 똑같지않을까?내부적으로 어짜피 O(N)시간은 걸릴거 아닌가?하지만 정답은 memset이 빠를수도 있다였다. https://twpower.github.io/79-usage-of-memset-function [C, C++] memset 함수 사용하기 Practice makes perfect! twpower.github.io 위 글의 참고 자료 링크중에 https://stackoverflow.com/questions/7367677/is-memset-more-efficient-than-for-loop-in-c 똑같은 질문이있다. 이게 memset의 코드다 char x[500]; char y[500]; int ..