Enjoy Elixir #008 AtCoder 풀기
8210 단어 Elixir
소개
KFIE이라는 킨키 대학 산업 이공 학부의 정보계 커뮤니티가 있습니다.
AtCoder을 풀어보십시오.
모쿠지
Elixir
|> 001 mix new, iex -S mix, mix format
|> 002형
|> 003 패턴 매칭
|> 004 Modules and functions
|> 005 Pipe operator and Enum module
|> 006 HTTP GET!
|> 007 Flow
|> 008 AtCoder를 풀어보기
준비
$ mix new hello_at_coder
$ cd hello_at_coder
999 Where to go next
$ mix new hello_at_coder
$ cd hello_at_coder
999 Where to go next
lib/main.ex
defmodule Main do
def main do
IO.gets("")
|> String.trim()
|> String.to_integer()
|> solve()
|> IO.puts()
end
@doc ~S"""
Solve
## Examples
iex> Main.solve(1900)
100
iex> Main.solve(3000)
0
"""
def solve(n) do
1..10
|> Enum.reduce_while(0, fn _, payment ->
if payment < n, do: {:cont, payment + 1000}, else: {:halt, payment}
end)
|> Kernel.-(n)
end
end
test/hello_at_coder_test.exs
defmodule HelloAtCoderTest do
use ExUnit.Case
doctest HelloAtCoder
doctest Main # add
Main.solve/1
의 코멘트는 A - Payment 라고 하는 테스트가 되고 있습니다 실행
$ mix test
...
Finished in 0.07 seconds
2 doctests, 1 test, 0 failures
Randomized with seed 687098
제출
AtCoder
Elixir
Wrapping Up
을 풀 때
Main.main/0
를 준비합니다Reference
이 문제에 관하여(Enjoy Elixir #008 AtCoder 풀기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/torifukukaiou/items/98f875ee4d0f4038b5a2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)