질문을 쓸 때 주의해야 할 것은 무엇이 있나요?
- 문제를 본문에 링크해 주시면 대답해 주는 사람들이 더 편합니다. 어떻게 링크하는지는 글 쓰는 화면 아래의 마크업 문법 도움말을 참조하세요.
- 왜 답이 틀렸는지, 혹은 왜 RTE가 나오는 지 등의 질문을 하실 때는, 자신이 어떻게 풀었는지를 설명하지 않고 소스 코드만 올리시면 사람들이 대답해 주지 않습니다. 바람직한 질문의 예 질문의 예 2 모범 답안
- 소스 코드를 올리실 때는 구문 강조가 될 수 있도록 소스 코드 문법을 사용해 주세요. 글 쓰는 화면 아래의 마크업 문법 도움말을 참조하세요.
- 알고스팟 운영진의 공식 ICPC 도움말은 읽어 보셨나요? 흔한 실수를 방지할 수 있습니다. 꼭 참조하세요.
흔한 질문들과 답변에는 무엇이 있나요?
예제는 다 나오는데, 답이 틀리다고 나와요!
- 예제 입력에 대한 답이 정확하게 나온다고 해도, 특정 입력에 대해서는 제대로 동작하지 않을 수 있습니다. 채점 서버의 채점용 입력은 많은 경우 예제보다 훨씬 크고 다양한 경우를 테스트합니다. 모든 경우에 이 프로그램이 맞게 동작하는지 다시 한번 확인해 보세요.
- 문제를 정확하게 이해했는지, 그리고 생각하지 못한 예외는 없는지 생각해 보세요. 문제를 잘못 이해해도, 예제 입력이 간단해서 같은 답이 나오는 경우가 많습니다.
제 컴퓨터에서는 잘 돌아가는데, 런타임 오류라고 나와요!
- "제 컴퓨터에서는 잘 돌아가는데" 는 큰 의미가 없습니다. 런타임 에러가 나는 대부분의 경우는 특정 입력 형태를 처리하는 데 실패하는 것인데, 이 경우가 예제 입력에 있는 경우는 대단히 희귀하기 때문입니다. 이럴 때는 안될 수 있는 시나리오가 있는지, 코드에서 가정하는 것들이 항상 모두 성립하는지 고민해 보는 것이 좋습니다.
- C++의 경우, 잘못된 메모리 위치 참조 오류는 윈도우보다 리눅스가 훨씬 엄격하게 검사합니다. 따라서 윈도우에서는 잘 돌아가는 것처럼 보이는 경우라도, 리눅스에서 돌려보면 해당 에러가 검출되는 경우가 있습니다.
- 가능한 메모리 관리를 직접 하는 일은 지양하세요. 얻을 수 있는 것은 적고, 정확하게 작성하기는 열 배쯤 어렵습니다.
- 여러 종류 입력을 프로그램으로 생성해서 돌려 보면 문제를 찾을 수 있는 경우가 많습니다.