알고리즘 문제 19

[22일차] JS 프로그래머스 LV.1

문제 1. 콜라 문제 풀이 순서 1. while문을 사용, 조건은 빈병의 개수(n)가 빈병 요구량(a) 보다 크면 반복한다. 2. 빈병 개수와 요구량을 나눠주고, 마트에서 주는 콜라 개수를 곱한다. 3. 처음에 갖고 있던 빈병과 요구량을 나누고 남은것들이랑 마트에서 받은 콜라빈병이랑 더하고 계산을 다시한다. function solution(a, b, n) { let answer = 0; while (n >= a) { const remain = n % a; n = Math.floor(n / a) * b; answer += n; n += remain; } return answer; } 후..

알고리즘 문제 2023.01.27

[20일차] JS 프로그래머스 LV.1

문제 1. K번째 수 풀이순서 : 1. array.slice로 commands요구 사항에 맞춰서 자른다. 2. 오름차순으로 정렬한다. 3. commands 요구사항에 맞는 값을 push한다 function solution(array, commands) { var answer = []; for(i=0; ia-b); answer.push(arrayslice[commands[i][2]-1]) } return answer; } 문제 2. 숫자 문자열과 영단어 풀이순서 1. replace를 사용해서 영단어를 숫자로 변경한다. 2. 정규표현식을 사용한다. /gi /g = 모든 패턴검색, /i는 대소문자구분X 3. parseInt보다는 Number가 조금 더 빠름 function solution(s) { s = s ..

알고리즘 문제 2023.01.25

[19일차] JS 프로그래머스 LV.1

문제 1. 문자열 내 마음대로 정렬하기 풀이순서: 1. 문자를 오름차순으로 정렬한다. 2. n번째 원소 값의 비교를 통해서 정렬한다. 값이 크면 뒤로보내기 3. 주어진 문자가 같으면 문자열을 비교해서 더 큰 문자열을 뒤로 보낸다. function solution(strings, n) { strings.sort((a, b) => { // a[n]이 b[n] 보다 클 경우 뒤로 보낸다. if (a[n] > b[n]) { return 1; // a[b]이 b[n] 보다 작을 경우 앞으로 보낸다. } else if (a[n] b) { return 1; } else { retu..

알고리즘 문제 2023.01.24

[14일차] 프로그래머스 LV.1

문제 1. 최대공약수와 최소공배수 풀이순서: 1. 최대공약수 = 1 제외 나눌수있는 가장 큰 수중 공통된 수 2. 최소공배수 = 1 제외 배수중 공통된 가장 큰 수 3. for문을 사용해서 최대 공약수를 찾는다. (length를 지정할 수 있음, 제시된 수 중 작은수만큼 반복) 4. while문을 사용해서 최소 공배수를 찾는다. (length를 특정할 수 없기 때문) function solution(n, m) { var answer = []; let yaksoo = 1 let baesoo = 1 for(i=2; i

알고리즘 문제 2022.11.24