일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 개발자로살아남기
- 박종천
- spray
- 데이터플랫폼
- 2017회고
- coursera
- 단위테스트
- 데이터유통
- wait region split
- datalake
- 데이터야놀자
- kafka
- 알고스팟
- 개발자
- clean code
- 데이터레이크
- 함수형 사고
- 켄트백
- functional thinking
- 코딩인터뷰
- 실전사례
- 2016년회고
- hackercup2017
- 클린코드
- 해커컵
- 회고
- Raw-Request-URI
- 테스트주도개발
- 개발7년차매니저1일차
- 동시성
- Today
- Total
목록전체 글 (96)
Software Engineering Note
문제: Shisen-sho / 조합탐색 사천성이라는 게임이 문제의 배경이고 게임 난이도를 정하는 것이 문제이다. 게임 난이도는 한 번에 없앨 수 있는 tile의 쌍으로 정해진다. 탐색의 방향이 정해져있으면 간단했을 건데 상.하.좌.우 모두 훑어봐야 하고, 중복되는 경우는 카운트 하지 말아야하기 때문에 약간 까다로웠다. 소소한 고민. 1. 꺽어지는 경우를 어떻게 판단할까? 문제에서는 3번 이상 방향이 전환되는 경우는 카운트하지 말아야한다고 했다. 방향 전환 유무를 어떻게 감지할까? 생각해보니 이전위치와 다음위치를 검사하면 될것같았다. 방향이 바뀌지 않았다면, 다음위치와 이전 위치가 적어도 x, y 둘 중 하나의 값은 같을 것이다. 둘다 다르다면 방향이 전환된 것이다. 그래서 재귀함수에 이전좌표를 넘겨줬다...
문제: MATEXP / 분할정복 한 번에 한 번씩 계산해서는 시간내에 해결할 수 없다. 그렇다면? 반 씩 나누어서 계산하면 빠르게 해결할 수 있다. 1*1 행렬 계산을 해서 승수 2에 대한 값을 만들고, 다시 2*2를 해서 승수 4에 대한 값을 만들고.. 이런 식으로 하면 logN번만 계산하면 된다. 100 by 100 행렬 계산에 그리 큰 시간이 소요되지 않으므로, 행렬 계산은 단순하게 3중 loop로 처리했다. 총 복잡도는 코드: https://github.com/xgate/algospot/blob/master/DIV/MATEXP.cpp
www.linkedin.com/in/xgate/ 이곳은 저의 개발 전용 블로그입니다. 기존 블로그에 이런저런 주제들이 뒤섞여 있어 제대로 한 번 개발 전용 블로그를 만들어보기로 했습니다. 어느 날 문득.. 보통 자신을 나타내는 별칭이 있기 마련인데.. 개발자로서의 별칭을 만들고싶어졌습니다. 그래서 'DevMoon'이라는 별칭을 만들었습니다. 개발자 '문'(이름의 끝자) 이라는 의미가 있고, 달(Moon)이 뜰 때까지 개발한다는 의미도 포함하고 있습니다. 나름 만족하고 있습니다. 제너시스템즈, 다음, 카카오를 거쳐 카카오엔터프라이즈에서 일하고 있습니다.