제2장. 쓸수록 발달하는 뇌를 이용하는 법 각자 개개인은 스스로 지금 가지고 있는 능력들에서 어디까지 발전할 수 있다고 생각하나요? 저의 경우 솔직히 이에 대해 큰 생각이 없었고 제의 한계에 미쳤을 때쯤이면 이를 인식하고 딱 거기까지, 그 정도만 하며 살아왔던 것 같습니다. 그리고 '하면 늘겠지?'라는 막연한 생각을 가지고 지금까지 살아왔던 것 같아요. 그래서 당연히 시간을 많이 투자하면 투자한대로 어느 정도 성과를 얻었던 것도 있지만 생각외로 결과가 안 나오는 것들에 대해선 그것이 저의 한계라고 생각했고 좌절하였습니다. 하지만 저자는 이번 장에서 연습을 통해 능력을 좀 더 끌어낼 수 있다고 말합니다. 육체적인 발달을 근육으로 볼 수 있다면 정신적인 부분은 특정 뇌 부분의 발달정도을 보면 ..
1만 시간의 재발견1 서문 말하자면 절대음각 자체가 타고난 재능이 아니라 '절대음각을 발전시킬 수 있는 능력'이 타고난 재능이다.1 '모차르트가 음악 교육이 열성을 가진 아버지 밑에서 태어나지 않았다면 그는 과연 천재 음악가가 될 수 있었을까?' 그건 누구도 모르지만 저자는 타고난 음악적 재능보다는 그 음악적 재능을 개발시킬 재능에 초점을 두고 있습니다. "내가 점프슛을 잘하는 것이 신의 축복 덕분이라는 소리를 들으면 정말 화가 납니다. 그런 사람을 보면 난 이렇게 말하지요. '내가 매일 들인 노력을 과소평가하지 마세요'."2 - 미국 프로농구 선수 레이 앨런 - 우리는 정말 우리보다 뛰어나게 잘하는 사람들을 보면 원래부터 재능이 많다, 부자라서 엄청난 교육을 받았을 것이라고 생각하는..
Today's Algorithm(2018-11-05) leetcode 6. ZigZag Conversion 제가 좋아하는 종류의 문제입니다. 별찍기나 이 문제와 같이 패턴이 있는 것을 출력하는 문제를 좋아하는 것 같아요. 그래서 재미있게 풀었습니다. 물론 효율성은.. 그닥 좋지 않았지만요. 이 문제의 경우 가장 빠르게 푸는 방법은 역시나 수학적인 지식을 이용하면 확실히 빠르게 풀 수 있습니다. 저의 경우는 문제에 충실하게 지그재그를 따라가면서 배열에 넣었고 그것을 출력했거든요. 근데 수학적 지식을 이용하면 지그재그 따라갈 필요없이 바로 한 줄씩 지그재그에 있는 수를 배열에 넣고 그것을 바로 출력하면 되기 때문입니다. 제가 풀었던 방법은 우선 패턴을 발견하는 것에서 출발합니다. 결국 저 밑으로 갔다가 대각..
programmers N으로 표현 사람들이 많이 못 푼 문제 중 하나라 어려울거라 생각했지만 정말 해법이 떠오르지 않더라구요. 약 40분 정도 고민을 했는데 도저히 방법이 떠오르지 않아 다른 사람의 풀이를 참고하였습니다. 그 이전에 제가 생각했던 아이디어랑 이 아이디어의 문제도 같이 기록해볼게요. 분명 문제 분류에서 말하듯이 '동적계획법'을 사용하는 문제입니다. '동적계획법'은 말 자체는 어려우나 그냥 한 마디로 '그 이전에 계산한 부분 계산을 이용하여 더 큰 계산을 해결한다'입니다. 이렇게 사용하기 위해선 컨셉을 잘 잡아야합니다. 그 이전의 부분계산을 어떻게 설정하느냐에 따라서 문제를 쉽게 해결할 수도 있고 더 미궁으로 빠져들 수도 있죠. 저의 경우 처음에 이..
Today's Dev Notes(2018-11-04) 안녕하세요, Brad입니다. 웹UI를 적용하는 새로운 환경에서 로또 step4를 진행하다보니 진행상황을 기록하는 것을 깜빡했었네요. 그래서 간단하게 진행을 하면서 힘들었던 부분, 어려웠던 부분만 정리해볼께요. Spark를 통해 간단하게 몇 줄로 웹서버를 가동하는 것, 그리고 template engine을 통해 HTML을 렌더링하여 우리가 만든 값들을 HTML로 띄우는 작업이 참 재미있었는데요. 매번 콘솔로 작업을 하다가 웹상에서 UI를 갖추고 가동을 하니 전혀 다른 느낌이더라구요. 뭔가 완성된 게임을 보는 것만 같았어요. 물론 부족한 것 투성이긴 하지만.. 가장 어려웠던 점은 template engine을 통해 HTML에 원하는 결과 데이터를 넘겨주긴..
너비 우선 탐색(BFS) 오늘은 너비 우선 탐색(BFS, Breadth-First Search)에 대해 간략하게 정리해보려 합니다1. 우선 시작하기 앞서 그래프에 대해서 알아야 하는데요. 알고리즘에서 말하는 그래프는 중고등학교 때 수학시간에 배운 x축, y축과 전혀 관련이 없는 것이더라구요. 그래프 알고리즘에서 말하는 그래프는 정점(node)와 간선(edge)를 말합니다. 그래프에 대해 알아야할 것은 여기까지 입니다. 이제는 너비 우선 탐색에 대해 알아보겠습니다. 너비 우선 탐색은 다음과 같은 질문을 해결해줍니다. 정점A에서 정점B로 가는 경로가 존재하는가? 정점A에서 정점B로 가는 최단 경로는 무엇인가? 특히 두번째 질문 '정점A에서 정점B로 가는 최단 경로는 무엇인가' 를 해결해주는 알고리즘으로 유명..