99병의 맥주

99병의 맥주》(99 Bottles of Beer)는 미국캐나다민요이자 애주가다. 영국동요 중 하나인 《열 개의 녹색 병》(Ten Green Bottles)에서 파생되었다.

설명[편집 | 원본 편집]

벽장에 있는 99병의 맥주를 하나씩 꺼내다가 마시면서 결국 벽장을 다 비워버린다는 내용으로, 한 병의 맥주가 남을 때까지는 같은 가사가 계속 반복된다. 마지막 한 병이 남은 시점에는 가사가 바뀌는데 가게에서 더 사오는 경우도 있고(...), 그냥 거기서 마무리를 지어버리는 경우도 있다.

프로그래밍[편집 | 원본 편집]

곡의 구조상 프로그래밍 언어를 공부할 때 반복문/조건문 연습용으로도 사용된다. 한 병만 남았을 때는 99병을 더 사오는 게 아니라 그냥 다른 가사를 출력하고 마무리 하는 형태로 만들도록 하는 게 일반적이며, 작성간 아래와 같은 특성을 고려해야한다.

  • 매번 대상의 수가 1개씩 감소되지만, 가사는 그대로 유지된다.
  • 마지막 한 병이 남았을 경우 출력되는 가사가 달라진다.
  • 마지막 한 병이 남은 시점에서 반복문을 중단해야한다.

난이도를 높이려면 처음의 병 수를 입력받거나, 병의 숫자를 아라비아 숫자가 아닌 '단어'로 표시하는 방법을 사용할 수 있다. 이러면 배열을 쓰든 case문을 쓰든 현 시점의 병 숫자를 단어로 변환할 방법을 찾아줘야 해서 코드가 더 늘어난다. 추가적으로 언어에 따라서는 문법적인 면을 더 고려해 줘야 하는 부분도 생기는데, 예를 들어서 한국어의 특성상 단어로 병의 숫자를 표기하면 스물이 수관명사로 쓰일 경우 ㄹ을 탈락시켜야 해서 20병인 시점에는 스물 대신 스무가 나오게 해줘야 한다고 한다.

자기가 종교적인 이유 등으로 인해 술 운운하는 게 싫다면 술이 아닌 다른 걸 출력할 수 있도록 코드를 수정해서 만들어보는 것도 괜찮다.99병의 누카콜라

각주