지금 업무중이라 자바 사용중이야.
근데 아 자바니까 대충해 가 아니구...
생각해보니 함수형에서도 이거는 꽤 생각해볼만한 문제인거같더라고.
리스트 a_n 이 있어
반복문을 돌면서 계산해야하는 값 x_i 가 있어.
그리고 이것에 대한 평균값들을 a_i.put(average_i) 를 할거야.
일단 n 회 반복문을 돌아야지 그래야 각각의 x_i 들을 구할 수 있잖아.
그러면 이것의 total 은 해당 반복문안에서
total += x_i 를 통서 구할 수 있어.
근데 문제는
얘네를 average로 바꾸려면
반복문이 종료된 이후에야 total이 확정되기 때문에
다시 한번 반복문을 열어서 작업이 필요해
나같은경우는 일단 그냥 생각없이
첫번째반복문 안에서 a_i.put(x_i) 를 진행후
두번째 반복문안에서
a_i.put(a_i.get(x) / total)
을 진행했어.
이거 무조건 반복문 하나로 진행하는 방법은 없는거지?
함수형으로는 내가코드를 어떻게 짤지 한번 짜봐야겠어.
내가 알고리즘을 따로 공부를 안하고 그냥 즉흥으로 하는 편인데
이 상황은 왜 이제서야 겪는지 모르겠네
함수형이라는게 애초에 최적화보다는 논리적인 무언가를 따라 코딩해서 함수형이었다면 나는 먼저 a_n 을 map을 통해서 x_n 으로 만들고, 그것들의 sum으로 x_n을 나누는 map을 또다시 진행하고.. 여기서 끝인데? 함수형은 솔직히 반복문을 몇회 쓰냐 나는 크게 신경 안쓰고 코딩하는거같아.. 아닌가?? 하 모르겠네 클로저 최적화 책을 좀 봐야지
솔직히 함수형은 최적화하려고 쓰는 코딩은 아니고 이상한 무언가임. 그 고수가 짜는 코드가 최고지 하면 솔직히 함수형은 뭔가.. 뭔가 여튼 존나 극단적인 두가지의 서로 다른 무언가야 함수형 vs 최적화
긍까 내 말은 이거야. 내생각에 반복문을 덜 도는건 오히려 자바일거같거든?? 근데 자바는 반복문을 두번 열었다 닫아서 코드가 좀 지저분한반면 클로저는 내부적으로는 반복이 존나 많이 돌겠지만 존나 논리적이야 코드가. 그냥 딱 해야할거를 하는 느낌?
클로저는 컴퓨터는 존나 병신같이 돌겠지만 코드가 하나하나 의미가 있는 반면 자바는 씨발 무슨 아까 못한 찌꺼기를 처리합니다. 찌꺼기가 뭐였는지는 뭐였을까요? 뭐 이런식으로 논리가 더러워. 클로저는 그래서 반복문이 뭔 5번을 돌아가는 병신이지만 자바는 반복문이 두번만 돌아가도 진짜 뭔가 짜증남. 결벽증이 생겨...
함수형으로 avg(sum) 하면 똑같은거 아님?
꺼져