최근 블로그 업뎃이 뜸했는데, 일단 최근에는 코테 풀이에 집중하고 있어서 따로 노션에 문제 푼 내용을 매일 기록하고 해당 노션 페이지를 마크다운으로 내보내서 깃헙에 커밋하고 있다. 주로 이 블로그에는 문제 풀이보단 JavaScript 개념 위주로 올리고 있었다보니... 뭐 서두가 길었지만, 블로그를 쓰려고 생각해보니 사실 JS 개념은 공식문서가 더욱 정확하고 자세히 나와있어서, 블로그에는 차라리 문제 풀이를 올리는 것이 더 도움이 되지 않을까 싶어졌다. 물론 아직 Lv.2를 내가 온전히 풀어내지 못하는 경우가 대부분이라... 내 풀이는 아닌 것이 많다만 복습 차원으로 올린다. 귤 고르기 문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니..
전체 글
프로그래머스 코테를 풀면 어김 없이 정규표현식을 활용한 쿨한 풀이를 마주한다. 아직 다른 메서드들도 자유자재로 쓰는 편은 못되어 정규표현식은 조금 뒤로 미뤄두었는데, 점점 마주하게 되는 빈도가 늘어나면서 정리를 한 번 다시 해야겠단 생각이 들었다. 잘 습득해서 쿨해지자. 정규표현식 정규표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. Javascript 에서는 정규표현식도 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있다. String의 match(), matchAll(), replace(), replaceAll(), search(), split() 메서드와도 함께 사용할 수 있다. 정규표현식 만들기 정규표현식은 두 가지 방법으로 만들 수 있다. 정규표현..
최대공약수(Greatest Common Divisor) 최대공약수는 두 수 A와 B의 공통된 약수 중에 가장 큰 정수이다. 최대공약수를 구하는 가장 쉬운 방법은 2부터 min(A,B)까지 모든 정수로 나누어 보는 방법이다. let getGCD = (num1, num2) => { let gcd = 1; for(let i = 2; i { let lcm = 1; while(true){ if((lcm % num1 == 0) && (lcm % num2 == 0)){ break; } lcm++; } return lcm; } 유클리드 호제법을 이용한 구현 유클리드 호제법의 기본 원리는 num1을 num2로 나눈 나머지를 r이라고 했을 때, GCD(num1, num2) = GCD(num2, r)과 같다는 것이다. r이..
splice() 자바스크립트의 splice() 메서드는 배열 객체에 사용할 수 있는 내장 메서드이다. 이는 기존 요소를 삭제하거나 교체하여 배열의 내용을 변경하며, 제거된 요소가 담긴 별도의 배열을 새로 반환한다. splice() 메서드는 3개의 매개 변수가 있으며 원본 배열을 직접 변경한다. Array.splice(start, deleteCount, items, ...) start : 원본 배열의 요소를 제거하기 시작할 인덱스. start만 지정하면 원본 배열의 start부터 모든 요소를 제거한다. 음수인 경우 배열의 끝에서의 인덱스를 나타낸다. deleteCount : 원본 배열의 요소를 제거하기 시작할 인덱스인 start부터 제거할 요소의 개수. deleteCount가 0인 경우 아무런 요소도 제거..
Set set 객체는 중복되지 않는 유일한 값들의 집합으로, 수학적 집합을 구현하기 위한 자료구조이다. set 객체는 아래와 같은 특징을 지닌다. 동일한 값을 중복하여 포함할 수 없다. 요소 순서에 의미가 없다. 인덱스로 요소에 접근할 수 없다. set 객체의 생성 set 객체는 set 생성자 함수로 생성한다. 인수를 전달하지 않으면 빈 set 객체가 생성되며, set 생성자 함수는 이터러블을 인수로 받아 set 객체를 생성한다. const set = new Set(); console.log(set); // Set(0) {} const set1 = new Set([1,2,3,3]); console.log(set1); // Set(3) {1,2,3} const set2 = new Set('hello'); ..
팩토리얼 계산? 주어진 수 보다 작거나 같은 모든 양의 정수를 곱한 것. 5! = 5 * 4 * 3 * 2 * 1 재귀함수로 팩토리얼 구하기 재귀함수는 함수 내에서 자기 자신을 다시 호출하는 함수를 뜻한다. 특정한 조건에 만족할 때까지 자기 자신을 계속 호출하여 결과를 얻어내는 방법이다. function factorialize(num) { // If the number is less than 0, reject it. if (num < 0) return -1; // If the number is 0, its factorial is 1. else if (num == 0) return 1; // Otherwise, call the recursive procedure again else { return (num..