본문 바로가기

분류 전체보기66

스타트업 신사업팀 코테 후기 1. 서류 합격 커리어 코치님과 지인들에게 받은 피드백으로 이력서를 기존보다 더 눈에 들어오게끔 수정했다. 10곳 정도 이력서를 넣었는데 감사하게도 한 이름 있는 스타트업에서 연락이 왔다. (주변 현업 지인들 3명한테 말했더니 다 알고 있었음) 문제 수는 6문제에 240분의 시험이었다. 다른 코테는 1~2시간으로 기억하는데 4시간? 문제당 40분이고 복붙이 안 돼서 직접 타이핑해야 하는데.. 시간도 부족한데 집중이나 할 수 있을지 걱정됐다. 부트캠프 때 매일 한 문제씩 풀어서 자신이 있었는데 오랜만에 풀어보니 다 까먹은 것 같았다. 2. 코테 준비 a. 레벨 2 도전 듣기로는 레벨 2~3을 무난하게 풀 정도면 합격한다길래 레벨2 중에 정답률이 가장 낮은 문제부터 풀자 생각했는데 도무지 어떻게 풀지 감이 .. 2023. 10. 15.
n진법으로 변환하는 함수 10진법 -> n진법 구현 10보다 작은 n진법으로 변화하는 함수는 다음과 같습니다. # n이 10보다 작을 때 def to_nbase(num, n): s = "" while num != 0: s = str(num % n) + s num //= n return s n으로 나눈 나머지를 앞쪽부터 쌓아 올립니다. 몫이 0이 될 때까지 진행한 값을 반환하면 n진법으로 변환한 숫자가 됩니다. 하지만 10보다 큰 n진법으로 변환할 때에는 다른 함수가 필요합니다. 10진법 표현으로는 11,12와 같은 숫자를 한자리 수로 표현할 수 없기 때문에 알파벳을 추가하여 나타내게 됩니다. # n이 10보다 클 때(36까지) def to_nbase(num, n): chars = "0123456789ABCDEFGHIJKLMNOP.. 2023. 10. 1.
OSI 7 계층 모델 OSI 7 계층 이란? 네트워크 통신이 일어나는 과정을 7단계로 나눈 것입니다. 물리계층 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보내고(인코딩) 아날로그 신호가 들어오면 0과 1의 나열로 해석하여(디코딩) 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈입니다 1 계층 모듈은 하드웨어적으로 구현되어 있습니다. PHY칩, 더미 허브, 리피터(증폭기), 랜, 선로 Data Link 계층 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈입니다 framing은 data-link layer에 속하는 작업들 중 하나로 1111 0000 등으로 데이터를 감싸는 작업입니다. 1 계층 모듈과 마찬가지로 하드웨어적으로 구현되어 있습니다. (랜카.. 2023. 9. 24.
TypeScript는 퇴출 될까? Issue 타입스크립트가 큰 프로젝트들에서 버려지면서 퇴출되는 게 아닌가 하는 논란이 떠오르고 있습니다. 제가 평소에 좋아하던 채널인 fireship에서 "Big projects are ditching TypeScript… why?"라는 영상이 업로드되면서 알게 된 내용을 정리해 보겠습니다. Big projects are ditching TypeScript… why? 타입스크립트 논란은 초창기 부터 있었지만 대표적으로 2017년 자바스크립트 개발자 중 유명한 Kent C. Dodds라는 개발자가 타입스크립트를 사용하는 사람들을 비판하는 트윗을 올린 적이 있었습니다. Kent C. Dodds는 최근에 항복하고 타입스크립트의 편이 되었지만 hotwired/turbo의 개발자인 David Heinemeier .. 2023. 9. 20.
[자료구조] 큐 Queue 개념 | js 구현 Queue의 특징 1. FIFO (First In First Out) 먼저 들어간 데이터가 제일 처음에 나오는 선입선출의 구조를 가지고 있습니다. 2. 데이터는 하나씩 넣고 뺄 수 있습니다. Queue 자료구조는 데이터가 아무리 많이 있어도 하나씩 데이터를 넣고, 뺍니다. 한꺼번에 여러 개를 넣거나 뺄 수 없습니다. 3. 두 개의 입출력 방향을 가지고 있습니다. Queue 자료구조는 데이터의 입력, 출력 방향이 다릅니다. 만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없습니다 js 코드 구현 class Queue { //가장 앞에 있는 요소를 front, //가장 뒤에 있는 요소를 rear 라고 했을 때 //queue constructor 생성 constructor() { this.storag.. 2023. 9. 14.
[자료구조] Hash Table Hash Table의 정의 hash table이란 해시함수(hash function)를 사용하여 변환한 해시(hash)를 색인(index)으로 삼아 키(key)와 데이터(value)를 저장하는 자료구조입니다. 이 해시테이블은 쉽게 핸드폰으로 통화를 하기 위해, 단축번호를 설정하여 사용하는 것과 같다고 생각하면 됩니다. 김코딩 , 010-1234-5678 , 단축번호 : 1이라는 사람에게 전화를 걸기 위해 미리 사용자가 저장한 단축번호 : 1을 누르면 010-1234-5678 번호로 바로 통화를 할 수 있습니다. 이 과정처럼, 필요한 데이터의 키(key)를 해시함수를 사용해 별도의 해시(hash)로 바꿔 주고, 해당하는 데이터(value)를 함께 저장하는 자료구조입니다. Hash Table의 구조 키(ke.. 2023. 9. 14.
[자료구조] 스택 Stack 개념 | js 구현 Stack의 특징 1. LIFO(Last In First Out) 먼저 들어간 데이터는 제일 나중에 나오는 후입선출의 구조를 가지고 있습니다. 2. 데이터는 하나씩 넣고 뺄 수 있습니다. Stack 자료구조는 데이터가 아무리 많이 있어도 하나씩 데이터를 넣고, 뺍니다. 한꺼번에 여러 개를 넣거나 뺄 수 없습니다. 3. 하나의 입출력 방향을 가지고 있습니다. Stack 자료구조는 데이터의 입출력 방향이 같습니다. 만약, 입출력 방향이 여러 개라면 Stack 자료구조라고 볼 수 없습니다. js 코드 구현 class Stack { // stack constructor를 생성합니다. constructor() { this.storage = {}; this.top = -1; } // stack의 사이즈를 구합니다... 2023. 9. 14.
[코테] 콜라 문제 Lv. 1 (67%) 문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있.. 2023. 8. 31.
마크다운 문법 정리 마크다운 이란? 마크다운을 사용하면 쉬운 문법으로 텍스트를 보기 쉽게 정리할 수 있는 언어입니다. 깃허브에서 README.md 파일을 작성하면 레포지터리의 메인 화면에 노출되는데 .md라는 확장자가 마크다운으로 작성된 파일입니다. VSCode를 사용하는 경우 Markdown All in One이라는 확장 프로그램을 설치하면 여러 도움을 받을 수 있습니다. ctrl + shift + x 키로 마켓플레이스로 들어간 뒤, markdown을 검색해서 설치할 수 있습니다. 간단 마크다운 문법 정리 1.# (제목1) (띄어쓰기 필수) 제목1 2.## (제목2) 제목2 3.### (제목3) 제목3 4. 1. (순서 있는 목록) 아이템1 아이템2 아이템3 5. - (순서 없는 목록) 아이템 아이템 아이템 6. ** (.. 2023. 8. 29.
[코테] 옹알이 (1) Lv. 0 (32%) 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문자로.. 2023. 8. 27.
[코테] 정수를 나선형으로 배치하기 Lv. 0 (45%) 문제 설명 양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n^2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ n ≤ 30 입출력 예 n result 4 [[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]] 5 [[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]] 입출력 예 설명 입출력 예 #1 예제 1번의 n의 값은 4로 4 × 4 배열에 다음과 같이 1부터 16까지 숫자를 채울 수 있습니다.행 .. 2023. 8. 27.
os.system() 실행 경로에 띄어쓰기가 있어서 생기는 오류 상황 현재 실행 중인 애플리케이션에서 다른 파일을 실행하는 코드는 자주 쓰이는 편입니다. 평소에 os.system("start 나의앱.exe")과 같은 방식으로 사용하였는데 문제가 발생했습니다. # 기존에 쓰던 외부 파일을 실행하는 코드 os.system("start 나의앱.exe") 원인 분석 타입이나 한글 경로의 문제는 아니었고, 실행하려는 파일의 경로 중에 띄어쓰기가 포함되면 파일을 찾지 못하는 문제였습니다. 예를 들어, "사용 법.txt"라는 파일을 실행할 경우 띄어쓰기의 앞부분 까지만 인식하고 에러 메시지가 뜹니다. subprocess.call 방식을 사용하라는 내용이 많았지만 실행 파일만 되는 것 같았고, 큰 따옴표로 감쌌을 땐 텍스트 파일이 cmd로 실행이 되었습니다. 🔑해결 구글링하고 Ch.. 2023. 8. 16.