전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
·Algorithm (PS)
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 어렵다고 생각한 구현문제이다 삼성 기출문제이다 풀이방법 1 .경계선 표시하기 : 경계선에 5 라고 저장하기 2. 구역 1, 구역2, 구역 3, 구역 4의 각각 구역마다의 총인원수를 구해준 후에 구역 5는 (전체 인구수) - (구역1+구역2+구역3+구역4) 3. max값과 min값의 차이가 최소값이 되는 경우로 갱신해주기 인데 구현을 디테일하게 해주어야 한다.. 1) 예시는 맞았으나 히든케이스에서 틀린 ..
·Algorithm (PS)
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net k, n = map(int, input().split()) lines = [] for i in range(k): lines.append(int(input())) start = 1 end = max(lines) while start 랜선 길이를 늘려도 된다 start = mid+1 print(end)
·Algorithm (PS)
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 이진탐색으로 높이 H 값을 빠르게 찾는 문제이다. 백준 1654번 랜선자르기와 풀이방법이 유사하다 ~ https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,0..
·Algorithm (PS)
https://www.acmicpc.net/problem/20364 20364번: 부동산 다툼 첫 번째 줄에 땅 개수 N과 꽉꽉나라에 사는 오리 수 Q가 공백으로 구분되어 주어진다. (2 ≤ N 0: if node in visited: answer = node # 역순으로 방문하므로 가장 최신의 node가 처음 만나는 node가 된다. node //= 2 if answer == 0: # 이미 차지한 땅을 방문하지 않은 경우 visited.add(x) print(answer) for i in range(q): x = int(input().rstrip()) traverse(x)
알아두면 편한 grep 명령어!! grep 은 하나 이상의 파일에서 문자 패턴을 검색할 때 사용한다. 그리고 패턴을 검색한 결과를 쉘 화면에 출력한다. grep option pattern filename 과 같은 형식으로 쓴다. grep linux ccc ccc 라는 file에서 linux 라는 패턴을 검색하는 명령어이다. 결과는 다음과 같이 화면에 출력해준다. grep -v pattern filename 패턴을 제외하고 검색한다. grep -c pattern filename 검색 패턴과 매칭되는 줄 개수를 출력한다. grep -w pattern filename 단어 단위로 검색한다. grep 명령어에서 정규표현식 메타문자도 활용할 수 잇다. ^ : 줄의 시작 지정 root@user-Aspire-E5-5..
linux 가 window 운영체제에 비해서 안전한 이유는 윈도우는 한 계정이 환경 전체에 영향을 주는데 비해, linux는 각각의 파일, 디렉토리마다 개별적인 읽기 권한, 쓰기 권한, 실행 권한을 부여할 수 있기 때문이다. 이처럼 퍼미션은 linux의 큰 특징중 하나이며, 터미널 (쉘)에서의 작업을 통해 권한을 변경할 수 있다. 1. 퍼미션 개념 우선 퍼미션에 대한 개념은 다음과 같다. r , w, x로 표기되며 r은 read, w은 write, x는 excute 에 대한 권한이다. - 로 표기할 경우, 권한이 없다는 뜻으로 none이라는 의미이다. 퍼미션을 숫자로 표기하면 다음과 같다. r read 2^2 = 4 w write 2^1 = 2 x execute 2^0 = 1 - none denied =..
1. vi 편집기로 들어가는 명령어 vi 파일이름 vim 파일이름 2. 종료하기 :q , :q! 저장하지 않고 종료 :wq, :wq! 저장하지 않고 종료 3. 이동하기 h j k l 좌 하 상 우 키보드의 화살표로도 이동할 수 있다. ^ 현재 라인의 가장 앞으로 이동 $ 현재 라인의 가장 끝으로 이동 4. 화면 이동 H 보고 있는 화면의 가장 위쪽으로 이동 M 보고 있는 화면의 중간으로 이동 L 보고 있는 화면의 아래로 이동 gg 파일 맨 위로 이동 G 파일 맨 아래로 이동 5. 파일 라인을 지정하기 :set nu 라인 넘버를 보이게 설정하는 명령어 :set nonu 라인 넘버를 보이지 않게 설정하는 명령어 :n 이동하고자 하는 라인넘버를 n에 써주면 해당 라인으로 이동함 (ex :30 ) 6. 파일 편..
1. Link Layer 하는 역할 Link Layer 는 error detection 및 correction 을 한다. 또한 broadcast channel 에서 각각의 패킷이 충돌하지 않고 다음 hop 으로 전송될 수 있도록 control 해준다. 2. Link Layer의 구조 link layer 에서 host들과 router들을 node로 보고, 이 node들을 잇는 communication channel들을 link 라고 한다. node들을 잇는 communication path로는 wired links(유선 통신), wireless links(무선 통신), LAN 이 있다. link layer 는 컴퓨터의 network interface card (NIC) 에 구현되어 있다. 3. MAC pr..
minjiwoo
minji's engineering note