728x90

크래프톤 정글(알고리즘 주차 WEEK 0 ~ 4) 59

인프런 이동욱 CTO님 강연

인프런에서는 자막을 번역하고 다양한 언어의 더빙까지 지원한다고한다.또한 업스케일링 기술을 도입해 저화질을 고화질로 바꾸는 서비스도 제공한다고한다.이렇게 다른 강의 시스템과의 차별성을 가지기 위해 노력한다고 하신다.이동욱 CTO님은 몇년 간의 유튜브, 블로그에 개발바닥을 포스팅한다고 하신다.모든 직업은 부흥기와 혹한기가 있다. 그러니 본인이 원하는 일을 해야한다.어떤 일에 있어 성공하면 좋은 것이고 실패하면 에피소드이다.알고리즘에 관한 질문기본기인건 맞다. 남을 가르치는 강의형식으로 공부하면 한결 낫다.그러나 코테보는 회사라면 공부하고, 그게 아니라면 과감히 포기해라취업에서의 멘탈 케어법같이 취준하는 친구들이 도움이 됐다.(술마시면서)책을 봤다. 특히, 소설책. 소설책에 인물들을 보며 나와 비슷하다고 느끼..

WEEK4 마무리 운영진 티타임

CS공부를 하는 방법어셈블리어 동작 과정만 보고 실제 개발은 안해도된다.(어셈블리어 코드 작성)대부분 핀트OS주차에서 추상화적인 지식을 해소할 수 있을 것이다.C나 파이썬이 어떻게 어셈블리어로 돌아가는가? 예를 들어 if, while문 등의 광정(이론)을 아는 것이 중요하다. 특히나 구성요소는 알아야한다. (최적화측면에서 중요하다)특히나 데이터형 바꾸는 방법, GCC 역컴파일 방법은 잘 알아두자.원작자의 영상을 먼저 보고 책을 확인하자 (영어인건 알아서 해결해야한다)CS 관련된 책을 새로 사서 이해하는 것도 하나의 방법이다.원서를 보고 해석하는 것이 더 쉬울 수 있다.개념을 잡고 선택적으로 공부하자정글 전 기수의 블로그를 여러개 참고해서 이해하는 것도 좋다.코드 리뷰 방법(현업)굉장히 다양한 형식이 있고..

WEEK4 내용 보강(컴퓨터 시스템)

스택과 레지스터 차이에 대해스택프로시저 호출 시 지역 변수와 매개변수를 저장하기 위한 메모리 공간입니다.선언되는 순서와 반대로 메모리가 해제되는 LIFO(Last In First Out) 구조를 가지고 있습니다.용도함수의 로컬 변수 저장: 각 함수 호출 시 그 함수의 로컬 변수들이 스택에 저장됩니다.함수의 제어 흐름 관리: 함수가 다른 함수를 호출할 때, 반환 주소와 이전 함수의 스택 프레임정보가 스택에 저장됩니다.장점동적으로 메모리를 할당하고 해제할 수 있습니다.구현이 간단하며, 메모리 관리 overhead가 낮습니다.레지스터(register)프로세서 내부의 고속 작동 메모리로, 프로시저 실행 중 자주 접근하는변수나 중간 계산값을 저장하기 위해 사용됩니다.용도중간 연산 결과의 저장: 연산 중 생성되는 ..

WEEK 04 알고리즘 TIL(4월10일 목요일)

오늘은 알고리즘 주차의 마지막 날이다. 마지막 시험을 진행했다.아침에 정글 티셔츠 한정 판매가 있어서 구매했다. 밤식빵이 맛있다고 소문나서 사봤는데, 진짜 맛있다.9:00 ~DP와 그리디 알고리즘에 대해 복습했다. 코드를 외워야한다.3.동전문제 와 10.동전 0 문제로 복습을 했다.10:00 ~ 12:00시험 수행 후 발표 진행.12:00 ~ 13:00발표 때문에 시간이 좀 걸려서 끝나고 밥먹었다.13:30 ~오늘의 발제 시작(알고리즘 주차 종료)대충 내용은 아래와 같다.나중에 연차가 되면 컴퓨터 관련된 지식이 중요하게 되는 최적화 위주로 한다.c언어와 친숙해 질것이다. 특히, 포인터를 이해할 수 있는 시간이 될 것이다.우분투 18.04 이상이어야 한다.도커를 써도 된다. 나는 써보고 싶긴하다.(옵션)과..

WEEK 04 알고리즘 TIL(4월9일 수요일)

내일이 시험이기 때문에 DP와 그리디 알고리즘을 더욱 많이 학습했습니다.10번 11047 동전 0https://www.acmicpc.net/problem/11047문제는 주어진 K원을 만들때 동전의 개수를 최소한으로 출력하고 싶다. 그럴려면 K원 한도내에서 제일 큰 동전을 출력해야한다.import sysinput = sys.stdin.readline# 그리디 알고리즘def coin_counter(N, K, coin): count = 0 for i in range(N-1, -1, -1): # range는 stop값 직전까지 반복하여 0까지 반복 count = count + K // coin[i] # 몫이 결국 동전의 갯수 K = K % coin[i] # 남은 가..

그리디 알고리즘(파이썬)

그리디 알고리즘탐욕 알고리즘이라고도 하며 매 선택에서 지금 이 순간 당장 최적인 값을 선택하여 적합한 결과를 도출하는 알고리즘 입니다. 그렇기 때문에 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않습니다.보통 지역 최적화를 통해 전역 최적화를 도달하길 기대합니다.특징각 단계에서의 최적의 해답을 찾아 나가면서 전체 문제의 최적 해답을 찾아나가는 방식.각 단계에서의 결정은 지금까지의 상황만을 고려하며, 이후의 상황은 고려하지 않습니다.탐욕 선택 속성, 최적 부분 구조 특성을 가지는 문제들을 해결하는 데 강점이 있습니다. 즉, 한번의 선택이 다음 선택에는 전혀 무관한 값이어야 하며 매 순간의 최적해가 문제에 대한 최적해여야 한다는 의미이다.문제에서 요구되는 바와 같이 사용할 정당성이 있는지 분석하는 것..

WEEK 04 컴퓨터시스템 (C3-5)

3.5 산술 연산과 논리 연산정수의 산술연산 / leaq는 일반적으로 간단한 산술연산을 위해서 사용함.해당 표는 정수와 논리연산의 리스트를 보여준다. 오퍼랜드의 길이에 따른 다양한 변형이 가능하기 때문에 대부분의 연산을 인스트럭션 클래스에 따라 나열하였다. (leaq는 길이 따른 변형 없음)Ex) 인스트럭션 클래스 ADD는 네 개의 덧셈 인스트럭션으로 이루어져 있다.→ addb: 바이트, addw: 워드, addl : 더블워드, addq: 쿼드워드 덧셈실제로 각 클래스는 네 개의 서로 다른 크기의 데이터 연산을 가진다.또한 유효주소 적재, 단항, 이항, 쉬프트의 네 개의 그룹으로 나누어진다.이항 연산은 두 개의 오퍼랜드를 가지는 반면에 단항 연산은 한 개의 오퍼랜드를 가진다. 기존의 표기법과 동일.3.5..

WEEK 04 여담 TIL(4월8일 화요일)

오늘은 4주차 퀴즈를 진행하는 날입니다.9:35 ~ 12:00플로이드 와샬 손코딩과 vs code 코딩 총 2번 연습 완료했습니다.어제 팀원분들이랑 공부한 내용(컴퓨터 시스템)을 먼저 정리했습니다.14:00 ~ 16:30퀴즈를 진행하고 틀린 문제에 대해 한 번 검토를 해봤습니다. 추후에 부족한 부분에 대한 보충 진행을 하겠습니다. (목요일 예정)오늘은 한동안 쉬었던 운동을 재개했습니다.컴퓨터 시스템 3.5와 그리디 알고리즘에 대해서 학습했는데, 해당 내용은 따로 포스팅하도록 하겠습니다.

WEEK 04 컴퓨터시스템 (C3-8)

3.8 배열의 할당과 접근C에서 배열은 스칼라 데이터를 보다 큰 자료형으로 연계시키는 수단이다. 단순해 기계어로의 번역도 쉽다. 특이한 점은 배열 원소들에 대한 포인터를 만들고 이 포인터 간에 연산을 할 수 있다. 기계어에선 주소 계산으로 번역한다.최적화 컴파일러는 배열의 인덱스를 사용할 때 필요한 주소계산을 단순화하는데 우수한 성능을 보인다. 그래서 C코드와 그 기계어 번역 간의 관계가 다소 어렵게 해석할 수 있다.3.8.1기본 원리자료형 T와 정수형 상수 N에 대해 다음과 같은 선언에 대해 생각해본다.T A[N];시작하는 위치를 xA(작은 A)로 표시하자. 이 선언은L * N 바이트의 연속적인 공간을 메모리에 할당하며, L(바이트 단위)은 자료형 T의 크기를 나타낸다.위 선언문은 새로운 식별자 A를 ..

WEEK 04 컴퓨터시스템 (C3-4)

## **3.4 정보 접근하기**x86-64 프로세서는 64비트 값을 저장할 수 있는 16개의 범용 레지스터(general-purpose register)를 가지고 있습니다. 이 레지스터들은 정수 데이터와 포인터를 저장하는 데 사용되며, 모두 `%r`로 시작하는 이름을 가지고 있지만, 역사적인 발전 과정에 따라 다양한 명명 규칙이 섞여 있습니다. 초기 8086 프로세서에는 16비트 크기의 8개 레지스터가 있었고, 각각 `%ax`, `%bx`, `%cx`, `%dx` 등의 이름을 가졌습니다. 이들은 각기 고유한 용도에 따라 이름이 정해졌습니다. 이후 IA32(32비트 아키텍처)로 확장되면서 이 레지스터들은 32비트로 늘어나며 `%eax`, `%ebx` 같은 이름으로 바뀌었고, x86-64 아키텍처에서는 이..

728x90