본문 바로가기

전체 글540

[Programmers] (깊이/너비 우선 탐색[DFS/BFS]) Lv 2. 타겟 넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(numbers, target) { var answer = 0; const dfs = (idx, sum) => { if (idx >= numbers.length) { if (target === sum) answer++; return; } dfs(idx + 1, sum + numbers[idx]); dfs(idx + 1, sum - numbers[idx]); }; df.. 2023. 2. 15.
[Programmers] (스택/큐) Lv 2. 프린터 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(priorities, location) { const recursive = (res, data) => { if (!data.some((e, i) => data[0] < e && 0 < i)) { if (0 == location) return res.length + 1; res.push(data[0]); --location; } else { location = (lo.. 2023. 2. 14.
[Algorithm] 기본 수학 이론 - 점화식 점화식 (= 재귀식) 점화식(재귀식) 이란 수열에서 이웃하는 두개의 항 사이에 성립하는 관계를 나타낸 관계식 대표적인 점화식 *a : 고정된 상수 등차 수열 : F(n) = F(n - 1) + a 등비 수열 : F(n) = F(n - 1) * a 팩토리얼 : F(n) = F(n - 1) * n 피보나치 수열 : F(n) = F(n - 1) + F(n - 2) ex) 등차 수열_재귀 let result; function recursive(s, t, number) { if (number == 1) return s; return recursive(s, t, number - 1) + t; } result = recursive(3, 2, 5); console.log(result); // output : 11 ex.. 2023. 2. 13.
[Algorithm] 기본 수학 이론 - 경우의 수 [순열, 조합] 경우의 수 어떤 사건 혹은 일이 일어날 수 있는 경우의 거짓수를 수로 표현 일상 생활에서의 경우의 수 주사위 : 던지는 결과, 1 ~ 6 사이의 숫자이므로 경우의 수는 6 윷 : 던지는 겨과, 도, 개, 걸, 윷, 모 이므로 경우의 수는 5 가위바위보 : 게임 결과, 가위, 바위, 보 중에 하나를 낼 수 있으므로 경우의 수는 3 동전 : 던지는 결과, 앞면 혹은 뒷면이므로 경우의 수는 2 완전 탐색으로 경우의 수를 푸는 알고리즘 순열 : 서로 다른 n개의 원소 중에서 r을 중복 없이 골라 순서에 상관 있게 나열하는 경우의 수 (nPr) 조합 : 서로 다른 n개의 원소 중에서 r을 중복 없이 골라 순서에 상관 없이 나열하는 경우의 수 (nCr) 중복 순열 : 서로 다른 n개의 원소 중에서 r개를 중복 있게.. 2023. 2. 13.
[Algorithm] 기본 수학 이론 - 알고리즘 복잡도 코딩테스트 할 때는 가장 중요시 여겨야 할 것 메모리 사용량, 효율성(시간 복잡도, 공간 복잡도) 이다. 시간 복잡도 입력 크기의 값에 대해 단위 연산을 몇 번 수행하는지 계산하여, 알고리즘의 수행시간을 평가하는 방법 3가지 점근적 표현법 O(빅오) : 최악의 상황을 고려하여 성능 측정 결과 표현 Θ(세타) : 평균적인 경우에서의 성능 측정 결과 표현 Ω(오메가) : 최선의 상황일 때의 성능 측정 결과 표현 아무래도 컴퓨터 프로그래밍쪽에서는 빅오 표기법이 널리 사용된다. 왜냐하면, 알고리즘의 평균적인 시간은 의미가 없는 경우가 많기 때문이다. 함수가 평균적으로 "대충 이정도 시간이 걸릴꺼야!" 보다 "절대로 이 시간 이상은 넘지 않을거야!" 라고 말하는 것이 신뢰도가 높고, 최악의 상황을 제일 고려해야 .. 2023. 2. 13.
[Programmers] (스택/큐) Lv 2. 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const solution = (progresses, speeds) => { return progresses.map((el, idx) => Math.ceil((100 - el) / speeds[idx])).reduce((queue, el) => { (queue.length = el) ? queue[q.. 2023. 2. 13.
[Git & GitHub] Chapter 15. ISSUES, Markdown, README ISSUES 이슈는 프로젝트의 작업, 개선사항, 버그를 추적하고 커뮤니케이션 할 수 있는 GitHub에서 제공하는 기능 대표 사례 React 레퍼지토리의 ISSUES : https://github.com/facebook/react/issues 템플릿 생성 가능 Markdown 이란? 일반 텍스트 형식의 문서의 양식을 편집하는 문법 누구나 쉽게 읽고 쓸 수 있으며 HTML로 변환이 가능하다 특수기호와 문자를 이용한 매우 간단한 구조의 문법을 사용해 빠르게 작성하고 쉽게 읽을 수 있다. Markdown 태그의 종류 제목 : # , ===== 인용 : > 강조 : * , _ 링크 : [텍스트](주소 "설명 생략가능") 이미지 : ![텍스트](이미지주소 "설명 생략가능") 리스트 : 1 , * , - , + 코.. 2023. 2. 13.
[Git & GitHub] Chapter 14. 터미널, VSCode에서 사용하기 터미널에서 사용하기 git clone [원격 저장소 주소] git status 저장소의 상태를 보여준다 git add [파일경로] * git add -i : 추가되지 않은 파일들 모두 한 번에 Staging Area에 추가 git rm --cached [파일경로] Staging Area에 add된 파일을 다시 Working Directory로 내린다. * git rm -r --cached : Staging Area의 모든 파일을 Working Directory로 내린다. git commit -m "커밋 메시지" git log --decorate --graph VSCode 편집기 내에서 Git을 지원 2023. 2. 13.
[Git & GitHub] Chapter 13. Pull Request Pull Request 란? 다른 사람에게 내 브랜치를 Merge 해 달라고 하는 요청 사례 한 원격 저장소에서 내 브랜치를 Merge 하기 전, 피드백을 요청 Fork 뜬 저장소에서 원본 저장소에 개발 완료 후, 원본 저장소에 Merge를 요청 어떤 부분을 어떻게 수정했는지, 피드백 요청하는 부분은 정확히 어떤 파일의 어느 부분인지 기입한다. Pull Request 방법 Feature1 브랜치에 푸시하게 되면 GitHub 페이지에 Compare & pull request 버튼 생김 또는 세번째 Pull Requests 탭 클릭해 생성 어떤 브랜치에서 어떤 브랜치로 Merge 요청할 것인지 설정 Pull Request 메세지 작성 부분 Merge 할 두 브랜치의 소스코드 비교 부분 pull request.. 2023. 2. 12.
[Git & GitHub] Chapter 12. Fork 복제 Fork 란? 다른 사람의 원격 저장소에서 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때, 해당 원격 저장소를 내 원격 저장소에 그대로 복제하는 것, 전문 용어로 "포크뜬다" 라고 한다. Fork 복제 다른 계정으로 접속 원하는 레포지토리에 GitHub 페이지 접속 후, Fork 버튼 클릭 2023. 2. 12.