Ocaml

[99 Problems in OCaml] 7번 문제

seungh2 2021. 9. 14. 15:47

99 Problems in OCaml

https://ocaml.org/learn/tutorials/99problems.html

 

99 problems – OCaml

Your Help is Needed Many of the solutions below have been written by Victor Nicollet. Please contribute more solutions or improve the existing ones. 99 Problems (solved) in OCaml This section is inspired by Ninety-Nine Lisp Problems which in turn was based

ocaml.org

 

7번 문제

  • flatten
    • flatten list
    • list의 원소들을 펼쳐서 하나의 리스트로 만들어서 반환한다. 즉, Many 타입인 경우를 풀어야 한다.

 

어떻게 접근해야할지 몰라서 정답을 봤다.. 안보고 싶었는데..

인자로 들어오는 list의 각 원소들에 대해서 One인 경우와 Many인 경우를 나눠서 하고 싶었는데 접근 방법이 틀렸는지 계속 오류가 났다. e::l로 접근하고 싶었는데 이렇게 하면 안되고 One x::r과 Many l::r 이런 식으로 접근해야했다.

 

정답 코드

마지막에 List.rev로 reverse를 해주는데 rev를 쓰지 않고 할 수 있도록 코드를 다시 구현하였다.

그냥 ::말고 @를 사용해서 풀면 된다.

 

test 결과

 

 

 

 

 

728x90