Home
일기장 같은 블로그
Cancel

이코테 Ch.3 DFS/BFS (1)

자료구조 기초 자료구조의 기초에 대해 공부해야하는 이유는, 알고리즘들에 자료구조의 개념이 자연스럽게 녹아있기 때문이다. 대표적인 자료구조에는 스택과 큐가 있다. 스택 스택은 바닥부터 상자를 쌓는 경우에 비유할 수 있다. 맨 아래에 있는 박스를 꺼내기 위해서는 우선 위에 쌓인 박스들부터 꺼내야한다. 더 자세하게 말하자면, 맨 아래 깔린 박스는 ...

용어정리 3. 하둡과 프레임워크/라이브러리/모듈

하둡을 공부하다보니, 뭔가 몽글몽글하게 헷갈리는 부분이 있었습니다. 그건 바로 하둡과 그 안에 있는 여러 구성요소들(hdfs, mapreduce, yarn)의 정의를 어떻게 내리는가 할 때의 일이였습니다. 문득 내가 하둡을 뭐라고 정의하면서 사용했을까라고 생각해봤는데, 데이터를 분산 저장 및 처리하는 프레임워크라고도 하고 플랫폼 이라고도 하고 라이브...

이코테 Ch.2 구현 알고리즘 (3)

이 문제는 왕실의 나이트 처럼 좌표평면에서 시뮬레이션하는 알고리즘이다. 다만, 이 문제는 주어진 조건도 훨씬 길고 복잡해서 확실히 어렵다. 이 문제 풀이의 특징은 내가 방문한 곳을 체크하기 위한 2차원 배열과 육지와 땅이 표현된 2차원 배열을 이원화한다는 점이다. # 맵 크기 결정 n, m = map(int, input().split()) # ...

용어정리 2. 데몬(Daemon) 프로세스

‘하둡 클러스터의 master 서버에서 namenode가 데몬으로 실행되고, slave 서버에서 datanode와 task tacker가 데몬으로 실행된다.’ 이 단 한줄의 문장을 이해하기 위해 이 포스팅을 하고있다. 사실 데몬이라는 말을 완전히 모르고 있던것은 아니다. 내가 학원에서 했던 프로젝트 중에 처음 Airflow 사용했을 때, 매번 cm...

fork한 repository에 commit해도 잔디가 안심어지는 문제

오늘 열심히 깃헙 블로그 글을 작성하고, 잔디를 봤는데 잔디가 채워지지 않았다. 뭔가 싶어서 이전 것도 보니, 내 repository에 commit은 반영이 되어있는데 잔디만 안 심어져있었다. 그래서 여기저기 검색해보니, fork한 repository에 commit하면 잔디심기가 안된다고 한다. 내가 잔디 심기에 집착하는건 아니지만, 막상 잔디가...

이코테 Ch.2 구현 알고리즘 (2)

좌표평면에서의 이동에 대한 알고리즘은 각 커멘드에 따른 이동방향을 확실히 지정해줘야한다. 앞선 구현 알고리즘(1)에서는 L, R, U, D라는 이동방향마다 X,Y값들의 이동을 dx, dy라는 리스트에 지정해 주었다. 이번 왕실의 나이트 문제도 이와 비슷한 방식이다. """ 8 X 8 체스판 L자 형태로 이동 나이트위 위치는 input으로 받음 열...

Hadoop Deep Inside - Ch.3 하둡 분산 파일 시스템(HDFS) (1)

이번 포스팅에서는 HDFS에 대한 내용을 본격적으로 다룹니다. 당연한 소리지만 HDFS가 GFS에서 시작된 만큼 초기 HDFS는 GFS의 원리, 특성 그리고 아키텍쳐까지도 상당부분 유사합니다. 용어가 조금씩 달라지는 부분이 있다는 정도로 이해하시면 편할 겁니다. 물론 이후의 하둡이 버전업되면서 HDFS도 독자적인 노선을 밟게 됩니다. 특히 하둡 2....

문법정리 1. python에서의 continue와 pass

알고리즘을 공부하다보니 반복문에서 예외를 판별하는 조건문을 적용할 때, continue가 사용되는 것을 목격했다. 나는 보통 이런 경우에는 pass만 사용했는데, 특별히 continue가 필요한 상황이 있는지에 대해 궁금증이 생겼다. 이를 위해 continue와 pass에 대해 어느 정도 정리할 필요성 있어 관련 내용을 포스팅하려 한다. pass...

이코테 Ch.2 구현 알고리즘 (1)

구현 알고리즘은 크게 ‘시뮬레이션’과 ‘완전 탐색’이라는 두 가지 유형으로 나뉜다. 시뮬레이션은 _문제에서 제시한 알고리즘을 한 단계식 차례대로 직접 수행해야하는 문제 유형_을 의미한다. 완전 탐색은 _모든 경우의 수를 주저없이 다 계산하는 해결방법을 의미_한다. 시뮬레이션 中 ‘상하좌우’ 문제 N x N 좌표계 시작은 (1,1)이며 맨 왼...

이코테 Ch.1 그리디 알고리즘 (4)

어떤수 n이 1이 될때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행 단, 두번째 연산은 n이 k로 나누어 떨어질 때만 선택가능 n - 1 n/k n을 1로 만드는 최소 연산 횟수를 구하여라 => 빼기보단 나누기가 훨씬 빠르게 차감되니 나누기가 메인이고 잔처리를 빼기로 해야된다. n, k = map(int, inp...