도움이 필요한 당신에게

안녕하세요. zlzmsrhak입니다.

지난 1달동안 BOJ 질문게시판에서 답변을 하면서 느낀 점을 써 보려고 합니다.

0. 서론

BOJ의 규모가 커지는 만큼 게시판에서 유저들의 질문글도 양이 점점 늘어나고 있습니다.

자신이 짠 코드가 틀린 이유를 알려달라는 질문이 대부분입니다.

하지만 그 중 답글이 달리지 않는 질문도 매우 많습니다. 그 이유를 생각해보면,

  1. 디버깅 자체가 엄청나게 어렵고 힘든 작업입니다.
  2. 다른사람이 짠 코드를 디버깅 해야합니다.
  3. 틀린 것을 알아도, 반례를 찾는 것은 또 다른 문제입니다.

(무작위로 질문글 3개정도만 답변해주고 오시면 느끼실 수 있을 것 같습니다)

이런 의미에서 답변자들은 고통받으면서 댓글을 달고있는 겁니다. 특히 글이 불친절할수록 더더욱...

그래서, 답변자가 원하는 질문글에 대해 말해보려고 합니다.


1. 읽기 쉽게 작성하자

0) 맞았는데 왜 틀리죠

하지 맙시다... 틀리니까 틀리죠..

본인이 틀렸다는 것을 인정하지 않으면 디버깅을 할 수 없습니다.

자매품으로 "예제는 나오는데 틀렸다고 나옵니다", "로컬에서는 잘 나오는데 런타임 에러가 납니다" 등이 있습니다.


1) 본인 코드가 무슨 알고리즘을 구현한 것인지 설명하자

(코드에 대한 설명이 아니라, 본인이 구현하려고 한 알고리즘을 쓰는 것입니다.)

답변자가 코드를 읽는 것에 대한 가이드라인이라고 생각하시면 됩니다. 없으면 코드를 읽는 데 걸리는 시간이 배로 늘어납니다.

저는 개인적으로 3줄요약 정도면 충분하다고 생각합니다.


2) 어떻게 틀렸는지 쓰자

"시간초과"인지, "런타임 에러"인지, "틀렸습니다"인지에 따라서 디버깅에 중점을 두는 부분이 다릅니다.

예를 들어, 시간초과면 무한루프와 시간복잡도, 런타임 에러면 배열 인덱싱과 이터레이터 오류,

틀렸습니다면 구현 미스와 알고리즘 정확도 등을 확인합니다.


3) 코드는 소스코드에 쓰자

코드를 게시글에 그대로 붙여넣는 경우가 있습니다. 인덴트 깨지고 하이라이트 안되서 하나도 못읽습니다.

boj는 친절하게도 코드를 붙여넣는 곳이 있고(제일 아래), 읽기 편하게 해줄 건 다 해주니 이걸 이용해주세요.


4) 코드 인덴트를 맞추자

인덴트가 안맞아서 반복문 범위가 잘 안보이는 경우나, 인덴트가 1칸이라던가, 등의 상식을 벗어나는 경우가 있습니다.

가독성을 위해 적어도 에디터에서 자동으로 해 주는 인덴트 정도는 해 줍시다.


5) 코드는 전체를 다 올리자

코드의 일부만을 올리시는 경우가 있는데, 일단 다른 부분이 틀릴 수도 있는데다가

실행을 시키지 못하면 사실상 반례찾기랑 디버깅은 못하신다고 보시면 됩니다.


6) 코드를 깨끗하게 쓰자

알고리즘 전체를 설명한다고 각 줄에 주석을 다는 것 등은 가독성을 해칠 수 있습니다.

코드 자체는 있는 그대로 올려주세요.


2. 답변자를 배려해주세요

1) 질문을 하기 전에 문제의 다른 질문을 읽어봅시다

https://www.acmicpc.net/board/search/question/problem/1152

4페이지가 되는 질문글 중에 겹치는 것들이 하나도 없을까요...


2) 답변을 읽었다면 반응을 해 주세요

필수는 아닙니다만, 답변이 이해가 안되면 이해가 안된다고 댓글로 물어보고, 아니면 좋아요 정도는 눌러줍시다.

저는 적응돼서 반응이 없어도 그러려니 합니다


3) 질문이 해결된 경우 해결 표시를 해 주세요

질문을 하고 본인이 해결하는 경우가 있는데, 질문자는 그 사실을 모르기 때문에 답변하느라 쓸모없는 노력을 하는 경우가 있습니다.

또는, 질문이 필요한 글이 어떤 것인지 알 수가 없어 다 열어봐야 하는 귀찮음 같은 것들이 있습니다.



답변자가 편하면 더 많은 질문글을 답변해 줄 수 있을거라고 생각하기 때문에, 위에 있는 내용을 지켜주셨으면 합니다.

감사합니다.

댓글 (11개) 댓글 쓰기


sgchoi5 3년 전

아주 좋은 내용이네요....


koosaga 3년 전

개념글 공지로


joonas 3년 전

개념글은 추천

이 글을 토대로 질문 작성 템플릿을 만드는건 어떨까요.


kks227 3년 전

진짜 완전 개념글. 짱짱이에요~~ P.S. 1) 단어의 개수 문젴ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 2) 언더테일 짱


kks227 3년 전

아, 여담인데 저는 그와 별개로 요즘 문제집이 너무 범람한다고 생각하고 있습니당... 이거에 관한 글도 언젠가 흠... 날잡고 한번 쓰려고 생각 중이에요.


cbbatte 3년 전

굉장히 좋은 글 잘 읽었습니다!


shjgkwo 3년 전

아주 좋은글입니다


nhs0912 3년 전

저도 질문할 때 이렇게 생각해서 올려야겠네요!


portableangel 3년 전

좋은 글이네요


difmfmdi 3년 전

boj존경스러워요


ekdns7952 2년 전

좋네요 ^^