본문 바로가기

알고리즘171

[Javascript/PGS] Lv.2 : N개의 최소공배수 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.여러 수의 최소공배수를 구하는 문제이고, 반복문을 사용해서 2개씩 구하면 된다 일반적으로 사용하는 변수/함수명- 최대공약수 = gcd- 최소공배수 = lcm 최소공배수 구할 땐 [ a*b/gcd ] !!!!gcd 함수에서 b로 계속 나눈 나머지를 구하면서, b가 0일때의 a값이 최소공약수가 된다.  나의 풀이function gcd(a, b){ while(b>0){ let tmp = b; b = .. 2025. 4. 8.
[Javascript/PGS] Lv.2 : 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.종류 갯수를 카운팅할 때 신경써야할 부분(경우)이 좀 있고,sort도 신경써줘야 한다 ㅋ.....ㅋ JS의 sort()는 문자열 기준이기 때문에, 숫자를 제대로 비교하고 정렬하려면 반드시 비교 함수를 넣어줘야 한다!!!   나의 풀이function solution(k, tangerine) { var answer = 0; let tmap = new Map(); tangerine.forEach((t)=>{ .. 2025. 4. 7.
[Javascript/PGS] Lv.2 : 영어 끝말잇기 https://school.programmers.co.kr/learn/courses/30/lessons/12981# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨2.나눗셈, 나머지 연산을 잘 고려해서 적절한 식을 설계해야 한다!   나의 풀이function solution(n, words) { var answer = []; let wordset = new Set(); let wordsize = 0; wordset.add(words[0]); let lastword = words[0][words[0].length-1]; for(let i=1; i 2025. 4. 2.
[Javascript/PGS] Lv.2 : 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.그냥 반복문 + substr로 풀었는데, 효율성에서 너무 오래걸림. 아 뭔가 문제가 있다! 라고 판단해서방법을 생각해봤는데스택으로 푸는게 최고의 방법인 것 같았다.substr은 각각 O(N)이지만, push/pop은 각각 O(1)이므로 결국 문자열이 아니라 배열로 해결하는게 맞았다 ^-^ 나의 풀이function solution(s){ var answer = 0; if(s.length 2025. 4. 1.
[Javascript/PGS] Lv.2 : 점프와 순간 이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 레벨2. Summer/Winter Coding(~2018)DP인 줄 알았는데, 2로 나누어주면서 2의 배수가 아닐때만 카운트를 해주면 되는거였다.때로는(아주 가끔씩은) 단순한게 답이다...!  나의 풀이function solution(n){ var ans = 0; // 5 -> (+1), 4/2=2, 1/1=1 (+1) -> 2 while(n>1){ if(n%2===0) n/=2; else .. 2025. 3. 31.
[Javascript/PGS] Lv.2 : 석유 시추 (PCCP 기출문제 2번) https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.BFS 응용 문제이다너비우선탐색으로 석유칸 수를 카운트하고, 어떤 열에서 뽑을 수 있는건지 Map에 누적한다!코드가 길긴 했지만 크게 어려운 문제는 아니었다고 생각🤓  나의 풀이let Land;let n; let m;let visited;let dx = [0,1,0,-1];let dy = [-1,0,1,0];let columnMap = new Map();const saveColumns=(columns, count)=>{ .. 2025. 3. 26.
728x90
반응형