국제 컨퍼런스에서 무대 사회자를 맡고 있어요. 연사를 소개하고, 시간이 다 되면 알려 주고, 질문과 답변 세션을 진행하는 게 여러분의 일이에요. 무대에 오를 연사 목록을 미리 받았고, 이 목록을 사회 카드로 만들어야 해요.
목록이 정해진 형식을 따르고 있어서, 받은 목록을 정규 표현식(정규식)으로 파싱해서 사회 카드를 자동으로 만들어 주는 간단한 프로그램을 짜기로 했어요.
이 연습 문제의 목적은 정규 표현식을 배우는 게 아니에요. $lang 안에서 정규식을 사용하는 법을 배우는 거예요. 힌트에는 직접 작성하고 싶지 않을 때 사용할 수 있는 정규 표현식이 들어 있어요.
받은 목록에는 각 발표에 대해 다음 정보가 들어 있어요.
항목 하나가 온전히 갖춰지면 다음과 같은 형식이에요.
»Speedrunning 101« – Sasha Duda Krall (they/them), from GDQU. Start: 13:00, Q&A: 13:20, End: 13:30
여기서 제목은 Speedrunning 101이고, 연사는 Sasha Duda Krall이며, GDQU 소속이고, they/them 대명사를 사용해요.
발표는 13:00에 시작하고, 13:20에 질문과 답변이 시작되며, 전체 세션은 13:30에 끝나요.
이름에 일반 대시 -가 들어갈 수 있기 때문에, 연사와 발표 제목을 구분할 때는 엔 대시 –를 사용해요.
이 발표를 위해 프로그램이 생성해야 하는 사회 카드는 다음과 같아요.
- Our next speaker is Sasha Duda Krall, from GDQU
- Their talk is called »Speedrunning 101«
- They will answer your questions in the Q&A session at the end of the talk, starting at 13:20
13:00 - 13:20 - 13:30
목록 전체는 다음과 같을 수 있어요.
»Speedrunning 101« – Sasha Duda Krall (they/them), from GDQU. Start: 13:00, Q&A: 13:20, End: 13:30
»How I learned to say Farewell« – Madeline (she/her). Start: 13:40, Q&A: 14:00, End: 14:05
»How To Find a Good Title For Your Conference Talk« – Vítězslav Kruse (he/him). Start: 14:15, End: 14:40
»Why Emoji Matter❣« – Ash van Amelsvoort, from the University of 🧬🧪⚛. Start: 14:50, Q&A: 15:05, End: 15:10
»Can dogs look up?« – Kira "k1ralli" Sørensen. Start: 20:50, Q&A: 21:05, End: 21:10
각각에 대응하는 카드는 다음과 같아요.
- Our next speaker is Madeline
- Her talk is called »How I learned to say Farewell«
- She will answer your questions in the Q&A session at the end of the talk, starting at 14:00
13:40 - 14:00 - 14:05
- Our next speaker is Vítězslav Kruse
- His talk is called »How To Find a Good Title For Your Conference Talk«
- There will not be a Q&A session
14:15 - NO Q&A - 14:40
- Our next speaker is Ash van Amelsvoort, from the University of 🧬🧪⚛
- Ash's talk is called »Why Emoji Matter❣«
- Ash will answer your questions in the Q&A session at the end of the talk, starting at 15:05
14:50 - 15:05 - 15:10
- Our next speaker is Kira "k1ralli" Sørensen
- Kira's talk is called »Can dogs look up?«
- Kira will answer your questions in the Q&A session at the end of the talk, starting at 21:05
20:50 - 21:05 - 21:10
몇 가지 참고할 점이 있어요.
이렇게 하려면 regex101이나 RegExr 같은 정규식 작성 도구를 쓰는 게 가장 쉬워요.
!!! warning 정규식 엔진/종류를 $CHANGE_ME로 꼭 설정해야 해요.
정규식이 처음이거나 필요한 정보를 한 번에 모두 잡아내는 표현식을 만드는 게 어렵다면, 정보를 부분부분 잡아내는 더 작은 표현식 여러 개를 정의해도 돼요.
첫 번째 과제에서 만든 표현식을 사용해서, 한 줄을 입력으로 받아 정보를 잡아내고 위 명세에 따라 생성된 사회 카드를 반환하는 함수를 구현해요.
앞으로 추가될 수 있는 테스트 케이스는 다음 지침을 따라야 해요.
»«가 들어가면 안 되고, 이름에는 쉼표가 들어가면 안 돼요.[a-zA-Z] 같은 걸 사용하는 풀이는 테스트를 통과할 수 없어야 해요.