language: Erlang (erl-5.7.3)
date: 213 days 22 hours ago
link:
visibility: public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
zipn(List) ->
        zipn([],List).
 
zipn(Acc,[]) ->
        lists:map(fun lists:reverse/1,Acc);
zipn([],[A|Rest]) ->
        AccStart = [[V] || V<-A],
        zipn(AccStart,Rest);
zipn(Acc,[A|Rest]) ->
        NewAcc = zipn_helper(Acc,A),
        zipn(NewAcc,Rest).
 
zipn_helper(Acc,A) ->
        zipn_helper([],Acc,A).
 
zipn_helper(Acc,[],[]) ->
        lists:reverse(Acc);
zipn_helper(Acc,[AccHd|AccRest],[VHd|VRest]) ->
        NewAccHd = [VHd|AccHd],
        NewAcc = [NewAccHd|Acc],
        zipn_helper(NewAcc,AccRest,VRest).