전체 글

좋아하는 걸 더 잘할 수 있도록 기록 블로그 보러가기🌵
코딩테스트

[프로그래머스/Javascript] 숫자의 표현

📄 문제 Lv 2. [연습문제] 숫자의 표현 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 연속된 자연수의 합으로 n을 표현해야 하기 때문에, 이중 for문을 이용해 숫자의 합을 구한다. 💡 효율성을 위해 break와 return을 사용해 불필요한 연산은 스킵한다. 📝 문제 풀이 function solution(n) { let count = 0; for (let i = n; i >= 1; i--) { let sum = 0; for (let j = 0; j < i; j++) { sum += (i - j); if (sum === n) { c..

코딩테스트

[프로그래머스/Javascript] 이진 변환 반복하기

📄 문제 Lv 2. [월간 코드 챌린지 시즌1] 이진 변환 반복하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 10진법을 2진법으로 변환할 때 toString(2) 사용 📝 문제 풀이 function solution(s) { let _s = s; let count = 0; let countOfDeletedZero = 0; while ('1' !== _s) { const filteredByZero = Array.from(_s).filter(_ => '0' === _); countOfDeletedZero += filteredByZero...

기록/컨퍼런스

[INFCON 2022] 정리

들어가며 INFCON 2022의 세션 중 기억하고 싶은 강의의 내용을 정리해 보자. 코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes Pull Requests와 Stacked Changes를 비교, 설명하며 코드리뷰를 잘하는 법을 공유한다. 👉 유튜브 링크 좋은 코드 리뷰의 특징 적당한 크기의 코드 변경 작업 명확성 빠른 속도 적당한 크기의 변경 사항은 작업이 명확함을 나타내고, 작업이 명확하면 자연스럽게 리뷰 속도는 빨라진다. Pull Request GitHub에서 제공하는 그 풀 리퀘. 작업 흐름이 좌 -> 우로 진행되며, 모든 변경 사항을 main branch와 비교하여 한 번에 리뷰받는다. Stacked Changes 작업 흐름이 마치 스택을 쌓듯 아래..

기록

2023년 7월 회고

들어가며 블로그를 시작한 이후 첫 월간 회고. 쓸 내용이 부족하지만 정리하고 7월을 돌아보자. 한 일 독서 객체지향의 사실과 오해 클린코드 6월부터 읽어 온 책 두 권을 드디어 다 읽었다! 책에 대한 자세한 감상은 가볍게 2 회독을 하며 작성 예정이라 조금 오래 걸릴 것 같다. React 노마드코더 - ReactJS로 영화 웹 서비스 만들기 Tutorial: Tic-Tac-Toe 항상 미뤄왔던 react 공부를 다시 시작했다. 아직 초기 단계지만 시작했다는 것에 의의를 두자..! KPT Keep 개발 도서 독서 React 공부 독서는 회사 동아리로 운영 중인 거여서 8월에도 계속할 계획이다. 주차 별로 정해진 범위까지 읽고 노션에 정리해서 서로 이야기를 나누는 방식으로 진행되고 있다. 같이 하는 사람들이..

코딩테스트

[프로그래머스/Javascript] 할인 행사

📄 문제 Lv 2. [연습문제] 할인 행사 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 사야하는 물품의 개수는 총 10개이므로 discount를 10개씩 잘라서, 개수를 체크한다. 📝 문제 풀이 function solution(want, number, discount) { let days = 0; for (let i = 0; 10 { return number[j] === todayProduct.filter(product => product === item).length; }); if (isCanBuy) { days += 1; } } r..

기록

[INFCON 2023] 그런 날 있잖아.. 인프콘 떨어졌지만 이벤트로 막차탈 것 같은.. 그런 날..

가고 싶다 인프콘 요즘 이직 고민과 어떻게 하면 좋은 개발자로 성장할 수 있을지 고민이 많은 나에게 온 기회 인프콘 2023💙 신청 사전 알림도 하고 매일 기도하는 마음으로 보냈지만 결과는..! 탈락이었다😥 세션은 유튜브로 볼 수 있지만, 네트워킹 파티에 참여해서 다양한 사람들과 대화도 나누고 기회가 된다면 개발자 친구도 사귀고 싶었는데! 그리고 데브챗 신청도 하려고 했는데.. 이 기회를 놓친 게 너무 아쉽다. ;ㅅ; 두 번째 기회 시간표 공유 이벤트 그리고 찾아온 두 번째 기회~~ 기다려라 인프콘! 기다려 코엑스!!! 내 시간표 📅 👉 인프콘 시간표 확인하기 & 만들기 개발자라면 당연히 실력이 뒷받침 되어야 하지만 가장 중요한 건 커뮤니케이션 스킬, 성장가능성이라고 생각한다. 그래서 이번 인프콘을 참여..

코딩테스트

[프로그래머스/Javascript] 카펫

📄 문제 Lv 2. [완전탐색] 카펫 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 갈색 카펫의 가로 길이 = 노란색 카펫의 가로 길이 + 2 💡 갈색 카펫의 세로 길이 = 노란색 카펫의 세로 길이 + 2 📝 문제 풀이 continue대신 return을 쓰는 바람에 엄청 해멨다.. 앞으로는 조심하자🥲 function solution(brown, yellow) { for (let i = 1; i

코딩테스트

[프로그래머스/Javascript] 예상 대진표

📄 문제 Lv 2. 2017 팁스타운 예상 대진표 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 A와 B가 대진할 때까지 2로 나누자. 💡 만약, A가 1 또는 2번째 참가자라면 다음 대진 때는 1번이 된다. 💡 1과 2를 2로 나누었을 때 둘 다 1이 되려면? 📝 문제 풀이 function solution(n, a, b) { let numberA = a; let numberB = b; let round = 0; while (numberA !== numberB) { numberA = Math.ceil(numberA / 2); number..

코딩테스트

[프로그래머스/Javascript] 의상

📄 문제 Lv 2. 해시 의상 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 옷을 안 입는 경우를 고려해서 코드를 작성해야 한다. 💡 종류 별로 옷을 분류해야 하므로 Map을 사용하자. 👉 입출력 예 #1으로 경우의 수 공식 이해하기 (headgear 개수 + 입지 않는 경우) * (eyewear 개수 + 입지 않는 경우) - (전부 입지 않는 경우는 제외) = (2 + 1) * (1 + 1) - 1 = 5 📝 문제 풀이 function solution(clothes) { const clothesMap = new Map(); let co..

코딩테스트

[프로그래머스/Javascript] 점프와 순간 이동

📄 문제 Lv 2. Summer/Winter Coding(~2018) 영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 건전지 사용량의 최솟값을 구하는 것이기 때문에 배터리 소모량이 없는 순간이동을 최대한 활용 💡 순간이동을 사용하다가 거리를 넘어가면 안 되니까 거리(n) -> 0으로 역순으로 계산 📝 문제 풀이 function solution(n) { let distance = n; let count = 0; while(0 < distance) { if (0 === distance % 2) { distance /= 2; } ..

셈인
일단 만들어