헬리'Daily/꾸준한 알고리즘
-
[프로그래머스] 코테 (분수의 덧셈)헬리'Daily/꾸준한 알고리즘 2023. 8. 18. 12:50
일단 최종 코드는.. 이렇게 된다... function gcd(a, b) { return b === 0 ? a : gcd(b, a % b); } function solution(numer1, denom1, numer2, denom2) { // 두 분모의 최소공배수(lcm) 계산 const lcm = (denom1 * denom2) / gcd(denom1, denom2); // 각 분자를 두 분모에 맞게 확장 const newNumer1 = numer1 * (lcm / denom1); const newNumer2 = numer2 * (lcm / denom2); // 두 분수를 더한 분자 계산 const resultNumer = newNumer1 + newNumer2; // 결과 분자와 lcm의 최대공약수(..
-
[프로그래머스] 코테 (자릿수 더하기)헬리'Daily/꾸준한 알고리즘 2023. 8. 13. 17:34
나의 코드 function solution(n) { return String(n).split('').reduce((sum, digit) => sum + parseInt(digit,10),0); } 설명 1. String(n) : 주어진 정수 n을 문자열로 변환한다. => 이렇게 함으로써 정수의 각 자리 숫자를 하나씩 분리하고 처리할 수 있음!! 2. .split('') : 변환된 문자열을 빈 문자열 ''을 기준으로 나눈다. => 이 결과로 배열이 생성되며, 각 배열 요소는 문자열의 각 자리 숫자를 담게 된다. 3. .reduce((sum, digit) => sum + parseInt(digit, 10), 0) : 배열을 reduce() 함수를 사용하여 합산하는 작업을 가진다 => reduce() 함수는 ..
-
[프로그래머스] 코테 (모음 제거)헬리'Daily/꾸준한 알고리즘 2023. 8. 7. 15:49
나의 풀이) 1. my_string을 split('')을 이용하여 모두 나눈다 . 2. filter() 를 이용하여 모음인 vowel변수를 따로 선언하여 vowel이 아닌것들만 조건을 확인하여 모음이 아니면 참이 되도록 includes()이용한다. => 모음이 아닌 문자만 남게 된다! 3. includes()에 해당되는 글자만 다시 join('')을 이용하여 붙여서 return 한다. 코드 function solution(my_string) { const vowels = ['a','e','i','o','u'] return my_string.split('').filter((char)=> !vowels.includes(char)).join(''); } 다른사람의 풀이) function solution(my_..
-
[프로그래머스] 코테 (배열자르기)헬리'Daily/꾸준한 알고리즘 2023. 8. 7. 15:22
나의 풀이) -slice를 이용해서 파라미터에 (num1, num2+1)넣기! 코드) function solution(numbers, num1, num2) { return numbers.slice(num1,num2+1); } 왜 num2+1 을 했을까? : Array.slice(start, end) 함수 start 인덱스부터 end 인덱스 전까지의 부분 배열을 반환하기 때문!! 즉, end 인덱스의 요소는 결과에 포함되지 않는다. 따라서, num2번째 인덱스까지 포함하여 자르려면 end 인덱스에 num2 + 1 값을 사용해야 한다!
-
[프로그래머스] 코테 (최댓값 만들기(1))헬리'Daily/꾸준한 알고리즘 2023. 8. 7. 13:05
주어진 배열에서 두 개의 숫자를 곱하여 최댓값을 찾는 문제이다! 나의 풀이 법 1. 배열 numbers를 내림차순으로 정렬 2.인덱스 [0], [1]을 곱한다. 코드 function solution(numbers) { const sortedNumbers = numbers.sort((a,b)=> b-a); return sortedNumbers[0] * sortedNumbers[1]; } 그냥 바로 numbers.sort해도 됬었자나!! 성공성공~
-
[프로그래머스] 코테 (피자 나눠 먹기 (3))헬리'Daily/꾸준한 알고리즘 2023. 8. 4. 23:44
나의 풀이 function solution(slice, n) { const result = Math.ceil(n/slice) return result; } function solution(slice, n) { solution이라는 함수를 선언하며, 매개변수로 피자 조각 수 slice와 피자를 먹는 사람의 수 n을 받는다. const result = Math.ceil(n/slice) n 명의 사람이 최소 한 조각 이상을 먹으려면 필요한 피자 판의 수를 계산한다. n을 slice로 나누고, Math.ceil 함수를 사용하여 올림하여 다음 정수로 반올림한다. 이유 : 한 판의 피자를 나누어 줄 때에는 올림으로 처리해야 최소한 한 조각 이상을 보장할 수 있기 때문!!