본문 바로가기

2

PS 팁 2 코딩 팁 1 https://go-jowick.tistory.com/16 입출력 함수 속도 비교 링크입니다. https://www.acmicpc.net/blog/view/56 전역변수, 지역변수 사이즈 차이 main 함수 내에서 배열의 크기를 크게 잡았을때 Stack Overflow가 나지만 전역변수에서 배열의 크기를 크게 잡아도 오류가 나지 않는 이유 지역변수는 스택(Stack)영역에 저장되기 때문에 크기가 너무 커지면 오버플로우(Stack overflow)가 발생합니다. 윈도우의 프로세스당 기본 스택사이즈(1MB) or 리눅스의 프로세스당 기본 스택사이즈(8MB)가 그래서 저 사이즈보다 크게 사용하면 오류가 나는 것입니다. 기본적으로 저희가 문제를 풀때는 프로세스를 하나만 쓴다고 생각하시면 됩니다. 프.. 2023. 4. 16.
PS 팁 1 1. sagment fault, 틀렸습니다 의 경우 생각해 볼 수 있는 경우의 수 혹시 배열의 사이즈를 넉넉히 잡아 주었는지? 배열의 마지막엔 null이 오는 경우까지 생각해 주어야 하므로 input이 1,000,000 인 경우배열의 사이즈를 int input[1000001]로 잡아 주어야합니다. 추가적으로 sagment fault의 대부분의 경우에는 잘못된 주소값에 접근하려 해서 생기는 오류입니다. 배열의 index가 맞는지 포인터를 현재 잘 쓰고 있는지에 대한 부분을 확인하면 됩니다. 2. 초기화를 잘하자 처음 변수를 선언할 경우 쓰레기값이 들어가게 됩니다. 그래서 항상 0으로 초기화를 시켜주시는게 좋습니다! 3. 맞왜틀을 외치기 전에 다시 한번 코드를 보자 맞왜틀을 하는 대부분의 경우 자신의 논리가.. 2023. 4. 16.