본문 바로가기

알고리즘4

[javascript 알고리즘] 접미사인지 확인하기 문제어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.풀이접근처음에는 split으로 분할해서 분할되는 갯수로 하려고 했다. -> 이렇게 하니 ana 가 2번 들어가서 첫번째 ana으로 분리되었다.endWith라는 문자열 메서드를 알게되었다. 간단하게 풀이가 가능했다. 풀이function solution(my_string, is_suffix) { return my_s.. 2025. 1. 14.
[javascript 알고리즘] 3진법 뒤집기 문제자연수 n이 주어질 때, n을 3진법으로 변환하고 이를 뒤집은 후, 다시 10진법으로 변환한 값을 return 하도록 함수를 작성해주세요.제한사항n은 1 이상 100,000,000 이하인 자연수입니다.입출력 예n = 45result = 7설명:45를 3진법으로 변환하면 "1200"이를 뒤집으면 "0021"이를 10진법으로 변환하면 7풀이function solution(n) { const 삼진법 = n.toString(3); const 거꾸로 = [...삼진법].reverse().join(""); return parseInt(거꾸로, 3);}다른 사람 풀이// 한 줄로 풀기const solution = n => parseInt(n.toString(3).split("").reverse().join(.. 2025. 1. 13.
[javascript 알고리즘] 문자열 역순으로 뒤집기 문제: 문자열 역순으로 뒤집기문자열을 입력받아 역순으로 뒤집은 문자열을 반환하는 함수를 작성하세요.조건:내장 함수 reverse()를 사용하지 마세요공백도 그대로 유지되어야 합니다문자열 길이는 1 이상입니다function reverseString(str) { const answer = []; for (let i = 0; i 2025. 1. 11.
자바스크립트로 알고리즘 문제 풀때 유용한 수학 공식 자바스크립트 알고리즘 문제 풀이에 자주 사용되는 수학 공식 모음알고리즘 문제를 풀 때 자주 활용되는 기본적인 수학 공식들을 JavaScript로 구현해보았습니다. 코딩 테스트나 알고리즘 학습에 도움이 되길 바랍니다.1. 최대공약수 (GCD)유클리드 호제법을 이용한 최대공약수 계산 방법입니다. 두 수의 최대공약수를 구하는 가장 효율적인 방법 중 하나입니다.function gcd(a, b) { return b === 0 ? a : gcd(b, a % b);}2. 최소공배수 (LCM)두 수의 최소공배수를 구하는 공식입니다. GCD를 활용하여 계산합니다.function lcm(a, b) { return (a * b) / gcd(a, b);}3. 소수 판별주어진 숫자가 소수인지 판별하는 함수입니다. 최.. 2025. 1. 10.