0. 필요성 협업 프로젝트에서 여러 브랜치에서 작업뒤 merge를 진행하다보니 수많은 commit이 생겨나서 뭔가 특정 commit 찾기가 어려워지고 버전에 따라 따로 적용되면 더더욱 구분이 어려워질 것 같아서 찾아보니 git tag라는 기능이 있었다. 시인성도 좋아지고 해당 commit으로의 접근성도 향상시킬 수 있다. 1. Git tag git tag는 커밋을 가리키는 정적인 참조 포인트를 생성하는 데 사용되는 Git의 기능입니다. 태그는 특정 시점의 커밋을 식별하고, 프로젝트의 특정 지점에 의미를 부여하는 데 사용됩니다. 주로 소프트웨어의 버전 릴리스나 중요한 이벤트 포인트를 나타내는 데에 활용됩니다. 2. 명령어 1) git tag // 1. 가장 최근 commit에 태그를 붙이고 싶을 때 git..
https://school.programmers.co.kr/learn/courses/30/lessons/12981# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최근 나의 풀이 문제 풀기전 생각했던 것들 // 문제 /* 1부터 n 까지 n명의 사람이 영어 끝말잇기를 한다. 이전에 등장했던 단어 x 한 글자인 단어 x return [number, number] return [가장 먼저 탈락하는 사람의 번호, 그 사람이 자신의 몇 번째 차례에 탈락하는지] */ // 제한 /* n 참여자수 2~10 arr.length n이상 100이하 단어의 길이 2이상 5..
1. Git log Git log는 Git 저장소의 커밋 히스토리를 조회하는 명령어입니다. 이 명령어를 사용하면 프로젝트의 커밋 기록을 보고, 각 커밋의 정보를 확인할 수 있습니다. 2. 명령어 1) git log git log 가장 최근의 커밋부터 역순으로 나열된 커밋 목록이 출력됩니다. 각 커밋에는 고유한 식별자인 해시값, 작성자 정보, 작성 일시, 커밋 메시지 등이 표시됩니다. 3. git log Option 1) oneline 각 커밋을 한 줄로 요약해서 표시합니다. git log --oneline 2) graph 커밋 그래프를 그려서 브랜치와 머지 정보를 시각적으로 보여준다. git log --graph 3) author 특정 작성자의 커밋만 보여줍니다. git log --author 특정 작성..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 뭔가 확실한 방법이 생각나지 않아 나열하면서 풀어야겠다고 마음먹었습니다. 그리고 나열하다 규칙성이 나오면 미루어 짐작해서 계산하면 된다고 생각했습니다. 이 풀이의 핵심은 각 자리의 문자들의 숫자를 다 더한게 순서를 나타낸다는 것입니다. 예를들어 A = 1 순서 1 AA = 1 + 1 순서 2 AAA = 1 + 1 + 1 순서 3 AAAA = 1 + 1 + 1 + 1 순서 4 AAAAA = 1 + 1 + 1 + 1 + 1 순서 5 AAAAE = 1 + 1 + 1 + 1 + 2 순서 6 여기까지 보면 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 문제 풀기전 했던 생각 // 문제 /* 선행스킬은 조건 이 참이어야 배울 수 있다. skill -> 1이상 20 이하인 배열 중복 x skill_trees > 중복 x 스킬을 나타내는 문자열 , 길이가 2이상 26이하인 데이터가 크지 않으니 거의 제한 x 모두 중복이 없다. return 가능한 스킬트리의 개수 return number */ // 설계 /* skil 배열을 먼저 만들어서 해당 각 스킬트리마다 해당 스킬이 나오면 하나씩 제거 즉 배열로 arr[0]으로 판단 if(선행 스킬이 필요한 스킬..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 처음에는 완전 접근을 잘못했다. 처음 풀었을 때 생각의 흐름 1. dirs길이가 짧고 반복문의 깊이가 깊을 것 같지 않아 forEach를 사용해도 되겠다고 판단했다. 2. 따라서 string을 스프레드 연산자를 통해 배열로 만들고 forEach로 순회하면서 좌표를 저장해야겠다. 3. 좌표는 도착지점만 저장하고 중복이 있으면 안되니 new Set을 사용해서 저장해야겠다. 4. 경계지점 넘어가는 것은 if문을 통해서 제어해야겠다. 5. 이 문제에서 모든 데이터는 string이나 array 보다 obje..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 프로그래머스에서는 해당 문제를 자바스크립트로 풀 수 없다. 그래서 vscode에서 자바스크립트로 풀고 파이썬으로 코드를 변경하였다. DP를 방금 공부해서 어떻게 풀어야겠다는 바로 생각이났는데 코드로 표현하는데 시간이 걸렸다. DP를 모르시면 참고! Dynamic Programming (DP) 땅따먹기 문제를 풀고 있는데 2시간동안 생각을 하는데 도저히 안 풀렸다. 계속 시간초과가 나서 이것저것 시도 해보다가 힌트라도 보자해서 봤던게 바로 DP였습니다. 그럼 DP는 과연 무엇일까? D html-jc...
땅따먹기 문제를 풀고 있는데 2시간동안 생각을 하는데 도저히 안 풀렸다. 계속 시간초과가 나서 이것저것 시도 해보다가 힌트라도 보자해서 봤던게 바로 DP였습니다. 그럼 DP는 과연 무엇일까? Dynamic Programming (동적 계획법) DP 뭔가 어려워보이는데 그냥 "기억하면서 문제 풀기"라고 생각하면 편합니다. 이게 뭔말이지 싶겠지만 5분만 참고 글을 읽으면 바로 이해 가능합니다. 예제는 직접 눈으로 보고 느끼면 이해가 더 쉽기에 간단한 예제를 가져와봤습니다. 바로 `피보나치 수열`입니다. 더보기 피보나치 수열 : 앞 두 개의 항목의 합이 그 다음 항목의 값이 되는 수열을 의미한다. const fib = (n) => { if (n { if (n in memo) return memo[n]; if (n
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 틀린 풀이 1 function solution(number, limit, power) { let result = 0 const box = [] for(let i = 1; i{ if(cur > limit){ acc += power }else{ acc += cur } return acc },0) } function getDivisor(number){ const divisor = [] for(let i = 1; i