시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 (언어별 추가 시간 없음) 256 MB 1028 619 496 62.390%

문제

  1. 문제를 풀어서 제출했는데 틀렸다고 뜬다. 무엇을 먼저 의심해야 할까?
    1. 내 코드
    2. 채점 서버
    3. 채점에 쓰는 데이터
    4. 사이트 운영자
  2. 분명히 예제를 넣으면 잘 돌아간다. 그런데 제출하면 틀렸다고 뜬다. 왜일까?
    1. 내 코드는 맞는데 채점 서버가 틀렸기 때문이다.
    2. 채점 서버는 예제만 채점하는 게 아니라 수많은 숨은 데이터로 채점하기 때문이다.
    3. 채점 서버는 딥 러닝으로 코드의 정당성을 판별하는데, 아직 모델이 완벽하지 않아서 맞은 코드도 틀렸다고 판단하기 때문이다.
    4. 채점 서버는 나의 코드와 서버의 코드를 비교해서 한 글자라도 다르면 틀렸다고 판단하기 때문이다.
  3. 나의 코드에서 잘못된 곳을 스스로 찾고 싶다. 어떻게 해야 하는가?
    1. 스스로 찾으면 안 된다. 무조건 다른 사람들이 대신 찾아 줘야 한다.
    2. 우선 질문 게시판 공지사항과 https://www.acmicpc.net/blog/view/55 를 추가로 읽어서 중요한 점을 빠뜨리지 않았는지 살펴본다. 그래도 없다면 잘 틀릴 만한 데이터가 무엇이 있을지, 특히 최소와 최대 입력에서 잘 돌아가는지 (예를 들어 1 ≤ n ≤ 1000이라면 n=1인 경우와 n=1000인 경우) 확인한다. 경우에 따라서는 답이 확실한 랜덤 데이터도 도움이 된다.
    3. 아무리 코드가 길고 복잡해도 100퍼센트 눈으로 읽기에만 의존한다.
    4. 무슨 소리? 내 코드는 틀리지 않았다니까. 채점 서버나 데이터가 문제지.
  4. 그래도 어디가 틀렸는지 잘 모르겠다. 그래서 질문 검색을 눌렀더니 5페이지의 질문들이 보인다. 무엇을 해야 하는가?
    1. 그 중 나에게 필요한 답변이 없음을 수학적으로 증명하고 그에 대한 논문을 쓴다. 그 길로 필즈상을 수상한다.
    2. 못 본 척 하고 질문을 올린다.
    3. 그 중 나에게 필요한 답변이나 반례가 없는지 확인한다. 언어나 결과가 다른 글이더라도 (예를 들면 나는 "틀렸습니다"인데 질문글은 "런타임 에러"인 경우) 나에게 도움이 될 수도 있다.
    4. 사이트를 해킹해서 글을 전부 지운다. 아무도 질문하지 않았으니 첫 질문을 올린다.
  5. 안타깝게도 원하는 답을 찾지 못해 질문을 올리려고 한다. 가장 바람직한 질문은 무엇인가?
    1. 내 코드는 세상에서 가장 아름다운 코드이다. 조금 길어 보이긴 하겠지만, 한 군데도 어색하지 않은 완벽한 코드이다. 따라서 주석은 필요 없고, 다른 사람들이 이해할 것이라고 믿고 설명 한 줄 없이 올린다.
    2. 틀렸던 코드를 그대로 올리지 않고 적당히 고쳐서 올린다. 분명 이 코드도 틀렸을 것이라고 확신한다.
    3. 분명히 예제도, 게시판에 있는 반례들도 잘 돌아간다. 내 코드가 틀렸을 리가 없다. 비주얼 스튜디오에서 / 이클립스에서 / 파이참에서 / 등등 잘 돌아가고, 예제는 맞음을 확실하게 명시한다. 내가 스스로 만든 데이터도 잘 돌아가지만, 실제로 뭘 넣었는지는 답변자가 텔레파시로 알아내게 한다.
    4. 마지막으로 제출한 코드를 그대로 올리고, 문제를 어떻게 접근했는지, 직관적이지 않은 변수명이 있을 경우 해당 변수가 어떤 역할을 하는지 등을 명시함으로써 다른 사람들의 빠른 이해와 답변을 돕는다.
  6. 드디어 원하는 답변을 얻었다. 이제 할 일로 가장 바람직한 것은 무엇인가?
    1. 이 답변은 나에게만 유효한 답변이고 다른 사람들은 나와 같은 실수를 절대로 하지 않을 것이다. 답변자의 수고 또한 내가 마음속으로 기억하고 있으면 끝이고, 그 마음을 알고 있는 답변자는 조금의 허탈함도 느끼지 않을 것이다. 따라서 다른 질문자들이 게시판을 보는 시간을 아꼈으면 하는 마음으로 질문을 지운다.
    2. (이 보기는 답변을 받았으므로 삭제했습니다.)
    3. 답변이 도움이 되었는지는 채점 현황을 보면 알 수 있다. 뒤늦게 온 답변자가 있어도 제출 현황을 보지 않은 사람 잘못이다. 아무 답변도, 해결 표시도 하지 않고 질문을 그대로 둔다.
    4. 답변, 해결 표시 등의 방법으로 원하는 답변을 받았음을 표시한다.
  7. 다음 중 런타임 에러가 어떨 때에 발생하는지에 대해 알 수 없는 곳은?
    1. 질문 게시판 공지사항
    2. 구글
    3. BOJ 페이지의 스크롤을 밑으로 내리면 나오는 "채점 환경" 페이지
    4. 미국 대통령 공식 트위터 계정
  8. 아무래도 입력의 조건이 설명과 다른 것 같다. 어떻게 확인해야 할까?
    1. 내가 그렇게 느끼면 실제로 그런 거다. 확인할 필요가 없다.
    2. 사이트를 해킹해서 데이터를 얻는다.
    3. 코드 내에 입력 조건을 확인하는 assert문을 넣고 제출해 본다.
    4. 내가 확인하면 안 된다. 다른 사람들이 대신 확인해 줘야 한다. 즉시 게시판에 "이거 데이터 잘못됐어요"라고 올리면 사람들이 발 벗고 나서서 확인해 줄 것이다.

입력

문제 번호가 입력된다.

출력

정답을 a, b, c, d 중 하나로 출력한다.

예제 입력 1

1

예제 출력 1

a

출처

  • 문제를 만든 사람: jh05013
  • 문제의 오타를 찾은 사람: unused