트랙
/
V
V
/
연습 문제
/
알레르기
알레르기

알레르기

쉬움

지침

사람의 알레르기 점수가 주어졌을 때, 그 사람이 주어진 항목에 알레르기가 있는지 없는지, 그리고 그 사람의 전체 알레르기 목록은 무엇인지 판별해요.

알레르기 검사는 그 사람이 검사받은 모든 알레르기에 대한 정보를 담고 있는 숫자 점수 하나를 만들어요.

검사한 항목과 그 값은 다음과 같아요:

  • eggs (1)
  • peanuts (2)
  • shellfish (4)
  • strawberries (8)
  • tomatoes (16)
  • chocolate (32)
  • pollen (64)
  • cats (128)

예를 들어 Tom이 peanuts와 chocolate에 알레르기가 있다면, Tom의 점수는 34가 돼요.

이제 34점만 주어졌을 때, 프로그램은 다음을 알려줄 수 있어야 해요:

  • 위에 나열된 알레르기 유발 물질 중 어느 하나에 Tom이 알레르기가 있는지
  • Tom이 알레르기가 있는 모든 알레르기 유발 물질

참고: 어떤 점수에는 위에 나열되지 않은 알레르기 유발 물질도 포함될 수 있어요(즉, 256, 512, 1024 등의 점수에 해당하는 알레르기 유발 물질). 프로그램은 점수의 이런 부분은 무시해야 해요. 예를 들어 알레르기 점수가 257이라면, 프로그램은 eggs (1) 알레르기만 보고해야 해요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
V Exercism

알레르기 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 V 트랙을 연습 문제 113개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.

알레르기 깊이 살펴보기!

비트 시프트, 비트 단위 비교를 비롯한 여러 이진수 개념을 살펴봐요! 패턴 매칭을 사용한 풀이와 Erlang에서 재귀를 사용한 흥미로운 접근법도 함께 살펴봐요.