라자냐

라자냐

학습 연습 문제

지침

가장 좋아하는 요리책에 나온 라자냐를 만들 수 있도록 코드를 작성해 볼 거예요.

요리를 만드는 것과 관련된 다섯 가지 과제가 있어요.

1. 오븐에 넣어 둘 예상 시간을 분 단위로 정의해요

$Lasagna::ExpectedMinutesInOven 변수에 라자냐를 오븐에 몇 분 동안 두어야 하는지 설정해요. 요리책에 따르면, 오븐에 넣어 둘 예상 시간은 40분이에요:

$Lasagna::ExpectedMinutesInOven
# => 40

2. 오븐에 남은 시간을 분 단위로 계산해요

Lasagna::remaining_minutes_in_oven 서브루틴을 수정해요. 이 서브루틴은 라자냐가 오븐에 있던 실제 시간(분)을 인자로 받아서, 이전 과제에서 정한 오븐 예상 시간을 기준으로 라자냐가 오븐에 더 있어야 할 시간이 몇 분인지 반환해야 해요.

Lasagna::remaining_minutes_in_oven(30)
# => 10

3. 준비 시간을 분 단위로 계산해요

Lasagna::preparation_time_in_minutes 서브루틴을 수정해요. 이 서브루틴은 라자냐에 올린 층의 개수를 인자로 받아서, 각 층을 준비하는 데 2분이 걸린다고 가정했을 때 라자냐를 준비하는 데 몇 분이 걸렸는지 반환해야 해요.

Lasagna::preparation_time_in_minutes(2)
# => 4

4. 총 작업 시간을 분 단위로 계산해요

Lasagna::total_time_in_minutes 서브루틴을 수정해요. 이 서브루틴은 두 개의 인자를 받는데, 첫 번째 인자는 라자냐에 올린 층의 개수이고, 두 번째 인자는 라자냐가 오븐에 있던 시간(분)이에요. 서브루틴은 라자냐를 요리하는 데 총 몇 분을 들였는지 반환해야 해요. 이 값은 준비 시간(분)과 그 순간까지 라자냐가 오븐에 있던 시간(분)을 더한 값이에요.

Lasagna::total_time_in_minutes(3, 20)
# => 26

5. 라자냐가 다 되었다는 알림을 만들어요

Lasagna::oven_alarm 서브루틴을 수정해요. 이 서브루틴은 인자를 받지 않고, 라자냐가 다 되어서 먹을 수 있다는 메시지를 반환해야 해요.

Lasagna::oven_alarm()
# => "Ding!"
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Perl Exercism

라자냐 문제를 시작해 볼 준비가 됐나요?

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