안 쓰던 블로그

백준 문제풀이 오답 팁 모음 본문

알고리즘/Algorithm

백준 문제풀이 오답 팁 모음

proqk 2020. 9. 30. 21:55
반응형

<시간초과>
1. cin, cout, endl 사용금지(느림) printf, scanf, \n사용
이런 식으로 언어마다 사용하면 좋은 입출력 함수가 있어서 자기 언어 관련으로 백준 입출력 팁을 구글에 검색해서 보면 도움이 될 것 같아요
2. for문 줄이기 특히 중첩 for문
3. 끝나지 않는 while(1)
 

<컴파일 에러>
1. 비주얼 스튜디오, vs code등의 컴파일러나 ideone등의 웹 컴파일러에서 미리 코드 실행!!!
코드 실행으로 컴파일 에러는 대부분 해결!!

2. 백준에서 알려주는 에러 메시지를 잘 확인

 

3. 문법 에러

4. 함수에 적당한 헤더를 가져왔는지 확인하기. 원래는 안 되는 코드인데 컴파일러에서 임의로 돌게 해 주는 것들도 있음
예: #include <iostream>에서 strlen 함수를 쓰지 마세요
strlen은 string.h나 cstring 헤더에 포함되어 있는데 iostream은 원래 없는 함수이지만 비쥬얼 스튜디오에서는 자동으로 돌아가게 해 준다

 

(c/c++)
#include <iostream>와 #include <stdio.h>를 동시에 사용 금지
#include <iostream>에서 printf, scanf를 쓰지 마세요
int main만 가능 void main 컴파일 에러

 
<런타임 에러>
1. 배열에 할당된 크기를 넘어서 접근했을 때
2. 전역 배열의 크기가 메모리 제한을 초과할 때
3. 지역 배열의 크기가 스택 크기 제한을 넘어갈 때
4. 0으로 나눌 때
5. 라이브러리에서 예외가 발생했을 때
6. 재귀 호출이 너무 깊어질 때
7. 이미 해제된 메모리를 또 참조할 때
8. main함수가 0이 아닌 수를 반환했을 때
9. void가 아닌 함수에서 아무런 값을 반환하지 않았을 때(main제외)


<출력 초과>
1. 문제에서 요구하는 출력만 잘 했는지
2. 중간에 에러 찾으려고 값 출력한 코드가 없는지

<틀렸습니다>
파이팅😞

반응형
Comments