📄 문제 Lv 2. [연습 문제] 피보나치 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 문제에서 1234567과 같은 숫자로 나눈 나머지를 출력하라는 이유 = int로 표현할 수 있는 범위를 넘어서기 때문 참고 링크 📝 문제 풀이 처음에 재귀함수로 풀었다가 시간 초과와 런타임 에러를 맞고, for 문으로 방법을 바꿨다. // 문제의 재귀함수 function solution(n) { if (0 === n) { return 0; } if (1 === n || 2 === n) { return 1; } return solution((n -..
📄 문제 Lv 2. [2019 카카오 개발자 겨울 인턴십] 튜플 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 JSON.parse()를 사용해 object로 변환하면 되지 않을까? (실패) 💡 원소의 순서가 중요하므로 {}내 숫자의 개수로 정렬을 해야 한다. 💡 {}내 숫자만 가져오려면 정규표현식이 편할 듯! 🌟 정규표현식이 익숙하지 않을 때 사용하면 좋은 사이트 👉 https://regexr.com/ 📝 문제 풀이 function solution(s) { const numberSet = new Set(); const numbers = ..
📄 문제 Lv 2. [연습문제] 다음 큰 숫자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📝 문제 풀이 다른 분들의 풀이를 보니 match()를 사용하는 분이 대부분이었다. match() 보단 replaceAll()이 더 빠를 거라고 생각해서 검색해 봤는데 나오는 게 없네..😥 프로그래머스 기준으론 match()가 더 빠른 것 같기도? function solution(n) { const numberOfOneInBinary = getNumberOfOneInBinary(n); let nextNumber = n + 1; while (true) { if (n..
📄 문제 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...
📄 문제 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..
📄 문제 Lv 2. [완전탐색] 카펫 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 갈색 카펫의 가로 길이 = 노란색 카펫의 가로 길이 + 2 💡 갈색 카펫의 세로 길이 = 노란색 카펫의 세로 길이 + 2 📝 문제 풀이 continue대신 return을 쓰는 바람에 엄청 해멨다.. 앞으로는 조심하자🥲 function solution(brown, yellow) { for (let i = 1; i
📄 문제 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..
📄 문제 Lv 2. 해시 의상 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 💡 옷을 안 입는 경우를 고려해서 코드를 작성해야 한다. 💡 종류 별로 옷을 분류해야 하므로 Map을 사용하자. 👉 입출력 예 #1으로 경우의 수 공식 이해하기 (headgear 개수 + 입지 않는 경우) * (eyewear 개수 + 입지 않는 경우) - (전부 입지 않는 경우는 제외) = (2 + 1) * (1 + 1) - 1 = 5 📝 문제 풀이 function solution(clothes) { const clothesMap = new Map(); let co..
📄 문제 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; } ..
📄 문제 Lv 2. 2018 KAKAO BLIND RECRUITMENT [1차] 캐시 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔍 문제 접근 ❓ 캐시 교체 알고리즘은 LRU(Least Recently Used)를 사용한다. 💡 FIFO로 캐시를 저장하자. 💡 캐시에 동일한 도시 이름이 저장되는 경우도 고려한다. 📝 문제 풀이 function solution(cacheSize, cities) { if (0 === cacheSize) { return cities.length * 5; } const cashedCities = []; let time = 0..