분류 전체보기

TIL

Today's Dev Notes(2018-11-12)

Today's Dev Notes(2018-11-12) 안녕하세요, Brad입니다. 오늘부터 코드스쿼드 레벨3 과정이 시작되었는데요. 본격적으로 백엔드 개발자로서 기본적인 지식을 배울 수 있는 기회가 왔네요! 새로운 낯선 것들을 배운다는 막연한 두려움과 현업에서 실제 쓰이는 기술들을 배울 수 있다는 기대감으로 일주일만에 학원에 발을 딛은 것 같아요. 이제부터 제가 모르는 거대한 새로운 지식들의 일부분은 조금씩 보는 것이라 전에 비해 단편적이거나 부정확한 내용이 좀 더 포함되어 있을 수도 있습니다. 하지만 제가 이해한 내용을 바탕으로 우선 정리해보고 틀리거나 부정확한 내용은 이해가 깊어짐에 따라 계속 수정 보완하겠습니다. Spring Framework 제가 신기했다고 느꼈던 것과 '아! 이래서 프레임워크라는..

Algorithm/problem solving

Today's Algorithm(2018-11-12)

Today's Algorithm(2018-11-12) boj 14940. 쉬운 최단거리 이번 문제의 경우 풀다가 제가 선언한 변수들을 제가 헷갈려버리기 시작하면서 미궁으로 빠졌고 시간이 꽤 오래 걸렸습니다. 이후 미궁으로 빠졌던 부분에서 겨우 빠져나오고 나서야 제출할 수 있었는데요. 답은 맞았지만 참 찝찝한 느낌이 듭니다. 다음과 같은 이유들 때문입니다. 코드에서 비효율성, 반복이 너무 많이 보입니다. 반복되는 부분, 다른 조건에서 다 처리할 수 있는 부분이 곳곳에 보였지만 지역변수들이 너무 많아 헷갈려서 많이 줄이지 못하였습니다. 앞에서 말한대로 지역변수들이 너무 많이 선언되어 제가 선언한 것임에도 불구하고 무엇을 의미하는건지 많이 헷갈렸습니다. 시간과 메모리에서 둘 다 다른 사람들에 비해 좋지 않습니..

Algorithm/problem solving

Today's Algorithm(2018-11-10)

Today's Algorithm(2018-11-10) boj 12865. 평범한 배낭 배낭 문제 참 유명하죠. 다이나믹 프로그래밍으로 풀 수 있는 대표적인 문제 중 하나인데요. 이 문제를 토대로 해결법을 정리해볼게요! 다이나믹 프로그래밍은 모든 수에 대해 탐색을 하는데 그 이전의 봤던 수에 나온 데이터들을 이용하는 것입니다. 중요한 것은 데이터, 즉 무엇을 기록할지입니다. 이 문제의 경우 전dp[해당_아이템][해당_무게] = 전 해당 무게에서 해당 아이템이 추가되었을 때 최고 가치로 잡아 모든 아이템을 보면서 기록해나가는 것이죠. 이 문제의 경우 다음 그림과 같이 기록 가능합니다. 그럼 의문이 들죠. '어떻게 최고 가치를 찾을 것인가?' 이전에 이렇게 구성할 때 물건을 하나씩 살펴보고 기록하기 때문에 다..

Book/self-help

1만 시간의 재발견6

제 8장. '재능'이라는 지름길은 없다 이전까지 설명한 '의식적인 연습'에 대해 듣고 있으면 하나의 의문이 생길지 모릅니다. 음.. '의식적인 연습'을 통해 전문가가 될 수 있다는 것은 알겠는데요. 그럼 선천적으로 재능을 가진 사람이 전문가가 되고 성공하는 것에 대해 어떻게 설명할 수 있나요? 이러한 의문을 가지는 것은 당연할지도 모릅니다. 우린 사실 이때까지 재능을 가진 사람은 평범한 사람에 비해 성공하기가 훨씬 쉽고 그들이 성공하는 것은 당연하다고 생각해왔기 때문이죠. 그렇지만 저자는 선천적으로 큰 노력없이 전문가가 되고 성공한 것에 대해 동의하지 않습니다. 실제 과거의 많은 천재의 예를 통해 저자는 일반 사람들의 오해에 대해 설명합니다. 우선 그 예를 접하..

Book/self-help

1만 시간의 재발견5

제 7장. 비범함으로 가는 로드맵 이번 장에서는 비범한 사람들이 성장하기까지 그 과정에서 공통되는 부분들을 추출하여 배울 수 있었습니다. 전 우선 성인이고 아직 자식 교육에도 크게 관심이 없다보니 가볍게 보았는데요. 그 중 인상깊었던 내용에 대해 짧게 정리해볼게요. 맨 처음에 부모가 체스 천재로 키우기로 결심하고 실제 그렇게 만들어내는 과정이 나왔는데요. 우리말에 그런 말 있잖아요. '자식은 부모 마음대로 안된다'. 그래서 처음에 회의적으로 봤던 것 같아요. 그리고 그렇게 만드는 과정 자체도 아이의 자율성을 해친다는면에서 별로 좋게 보지는 않았는데 결론적으로 제가 생각했던 것이 모두 틀렸습니다. 처음 시작을 놀이로 시작하더라구요. 만약 체스를 잘하게 만들고 싶다면 체스로 된 장난감을 준다던..

Algorithm/problem solving

Today's Algorithm(2018-11-09)

Today's Algorithm(2018-11-09) leetcode 8. String to Integer (atoi) atoi메서드를 실제 구현해보는 문제인데요. 이 문제 푸는데 얘 먹었습니다. 이게 특정 방식으로 풀지 않으면 갈수록 미궁 속이 되더라구요. 결국은 다른 사람의 코드를 참고하여 해결하였습니다. 문제 풀면서 힘들었던 점과 참고한 풀이에서는 어떻게 해결했는지 살펴볼게요. 막혔던 부분 Integer 범위 넘어가는 수 처리 전 처음에 문자열을 가지고 이를 처리하려 했습니다. Integer.parseInt()를 너무 좋아했던거죠. 그렇다보니 넘어가는 수에 대해 자리수 계산하고 그랬습니다. 정확하지도 않고 그게 맞는지도 모르는채 말이죠. 하지만 각각의 자리 수에 대해서 바로바로 Integer형으로 ..

Brad Lee
'분류 전체보기' 카테고리의 글 목록 (26 Page)