프로그래머스
-
[JS] K번째수이노베이션 캠프/3주차_알고리즘 2023. 6. 21. 11:46
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 function solution(array, commands) { let result = []; // 1) 결과 값 저장할 변수 선언 및 할당 // 2) for문 사용하여 배열의 원소의 접근 for (let i=0; i a-b); // 2-2) 잘라온 배열 내 특정 인덱스의 값 가져와 저장 result.push(temps[data[2]-1]); } return result; } 참..
-
[JS] 최대공약수와 최소공배수이노베이션 캠프/3주차_알고리즘 2023. 6. 21. 11:29
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 function gcd(min, max){ // 최대 공약수 구하는 함수: 재귀함수 형태로 최대 공약수 구할 때까지 반복 let result = min % max; return (result === 0) ? max : gcd(max, result); // result의 값이 0이 될 때까지 } function lcm(min, max){ // 최소 공배수 구하는 함수 return m..
-
[JS] 예산이노베이션 캠프/3주차_알고리즘 2023. 6. 21. 11:04
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 풀이1. 증감 연산자 (++) 사용 function solution(d, budget) { // 작은 수부터 정렬 // 정렬한 이유: 우리는 최대 지원 가능한 부서를 구해야 함. 작은 수부터 진행해야지 최대한 많은 수를 포함할 수 있음 d.sort((a, b) => a - b); let count = 0; // 1. 최대 지원 가능한 부서 수 저장할 변수 선인 및 할당 // 2. ..
-
[JS] 약수의 합이노베이션 캠프/3주차_알고리즘 2023. 6. 21. 10:53
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 function solution(n) { var answer = 0; // 1. 약수인 숫자의 합을 저장한 변수 선언 및 할당 // 2. for문 사용하여 주어진 n의 약수 값 구함 for (let i=1; i
-
[JS] 약수의 개수와 덧셈이노베이션 캠프/3주차_알고리즘 2023. 6. 21. 10:50
문제 https://school.programmers.co.kr/learn/courses/30/lessons/77884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 풀이1. for문 사용 function findDiv(num) { // 약수의 개수 구해주는 함수 (매개변수: 숫자 (int), 리턴 값: 숫자 (int)) let count = 0; // 약수는 1부터 시작 for (let i=1; i i + start); let result = 0; // 2. for of문 사용하여 배열의 요소에 접근 for (num of numbers) { ..
-
[JS] 키패드 누르기이노베이션 캠프/3주차_알고리즘 2023. 6. 20. 22:35
문제 https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 function solution(numbers, hand) { // 조건: 키패드를 2차원 배열로 받아드림, row & col 값으로 현재 손의 좌표 값 표시 // 예: 1번 선택 (leftRow=0, leftCol=0) // 1 2 3 // 4 5 6 // 7 8 9 // * 0 # // 1. 필요한 변수 선인 및 할당 let leftThumb = [1, 4, 7]; // 왼손 ..
-
[JS] 신규 아이디 추천이노베이션 캠프/3주차_알고리즘 2023. 6. 19. 20:04
문제 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 최종 제출 function solution(new_id) { let temp = ''; // 1단계 소문자로 치환 temp = new_id.toLowerCase(); // 2단계 알파벳 소문자, 숫자, -, _, .를 제외한 모든 문자를 제거 temp = temp.replace(/[^a-z0-9\-_.]/gi, ""); // 3단계 .가 2번 이상 연속된 부분을 하나의 마침표(.)..