트랙
/
Elixir
Elixir
/
연습 문제
/
고등학교 연인
고등학교 연인

고등학교 연인

학습 연습 문제

소개

문자열

Elixir의 문자열은 큰따옴표로 감싸고, UTF-8로 인코딩해요:

"Hi!"

<>/2 연산자로 문자열을 이어 붙일 수 있어요:

"Welcome to" <> " " <> "New York"
# => "Welcome to New York"

Elixir의 문자열은 #{} 문법으로 값을 끼워 넣을 수 있어요:

"6 * 7 = #{6 * 7}"
# => "6 * 7 = 42"

문자열에 줄바꿈 문자를 넣으려면 \n 이스케이프 코드를 사용해요:

"1\n2\n3\n"

줄바꿈이 많은 텍스트를 편하게 다루려면, 대신 큰따옴표 세 개로 이루어진 히어독 문법을 사용해요:

"""
1
2
3
"""

Elixir는 String 모듈에서 문자열을 다루는 다양한 함수를 제공해요.

파이프 연산자

|> 연산자를 파이프 연산자라고 해요. 이 연산자를 사용하면 함수 호출을 이어 붙일 수 있는데, 앞 함수 호출이 반환한 값이 다음 함수 호출의 첫 번째 인자로 전달돼요.

"hello"
|> String.upcase()
|> Kernel.<>("?!")

# => "HELLO?!"

지침

이 연습 문제에서는 고등학교 커플이 소셜 미디어에서 사랑을 고백할 수 있도록, 두 사람의 이니셜이 들어간 ASCII 상자를 만들어 줄 거예요:

❤-------------------❤
|  J. K.  +  M. B.  |
❤-------------------❤

1. 이름의 첫 글자 가져오기

HighSchoolSweetheart.first_letter/1 함수를 구현해요. 이름을 받아서 첫 글자를 반환해요. 이름에 있는 불필요한 공백은 정리해요.

HighSchoolSweetheart.first_letter("Jane")
# => "J"

2. 첫 글자를 이니셜 형식으로 만들기

HighSchoolSweetheart.initial/1 함수를 구현해요. 이름을 받아서 첫 글자를 대문자로 바꾼 뒤 마침표를 붙여 반환해요. 이전 단계에서 정의한 HighSchoolSweetheart.first_letter/1을 반드시 재사용해요.

HighSchoolSweetheart.initial("Robert")
# => "R."

3. 전체 이름을 이름과 성으로 나누기

HighSchoolSweetheart.initials/1 함수를 구현해요. 공백으로 구분된 이름과 성으로 이루어진 전체 이름을 받아서 이니셜을 반환해요. 이전 단계에서 정의한 HighSchoolSweetheart.initial/1을 반드시 재사용해요.

HighSchoolSweetheart.initials("Lance Green")
# => "L. G."

4. 이니셜을 ASCII 상자 안에 넣기

HighSchoolSweetheart.pair/2 함수를 구현해요. 전체 이름 두 개를 받아서 이니셜이 들어간 ASCII 상자를 반환해요. 상자를 직접 그릴 필요는 없어요. 코드 주석에 있는 상자를 활용해요. 이전 단계에서 정의한 HighSchoolSweetheart.initials/1을 반드시 재사용해요.

HighSchoolSweetheart.pair("Blake Miller", "Riley Lewis")
# => """
# ❤-------------------❤
# |  B. M.  +  R. L.  |
# ❤-------------------❤
# """
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Elixir Exercism

고등학교 연인 문제를 시작해 볼 준비가 됐나요?

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