JavaScript 29

[JS] 객체와 배열의 구조 분해 할당 (Destructuring Assignment)

객체와 배열의 **구조 분해 할당(Destructuring Assignment)**은 ES6에서 도입된 문법으로, 객체나 배열에서 값을 추출하여 변수에 쉽게 할당할 수 있도록 도와준다.  1. 배열 구조 분해 할당 배열의 구조 분해 할당을 사용하면 배열의 요소를 개별 변수로 쉽게 할당할 수 있어. 🔹 기본 예제 const arr = [1, 2, 3];const [a, b, c] = arr;console.log(a); // 1console.log(b); // 2console.log(c); // 3배열의 순서대로 변수를 할당하게 돼.  🔹 필요 없는 값 무시하기 const numbers = [10, 20, 30, 40];const [first, , third] = numbers;console.log(fi..

JavaScript 2025.03.04

[JS] 재귀 기능

🚀 재귀(Recursion)란?재귀는 함수가 자기 자신을 호출하는 방식즉, 어떤 문제를 같은 구조의 더 작은 문제로 나누어 해결하는 방식이다.  📌 재귀의 기본 구조 function recursiveFunction() { // 1️⃣ 종료 조건 (Base Case) if (조건) { return; // 재귀를 멈추는 조건 } // 2️⃣ 재귀 호출 (Recursive Case) recursiveFunction(); // 자기 자신을 호출}✅ 중요한 개념:반드시 종료 조건(Base Case)이 있어야 한다!종료 조건이 없으면 함수가 무한히 실행되어 **스택 오버플로우(Stack Overflow)**가 발생한다 🔥 예제 1: 1부터 n까지 출력하는 재귀 함수function printN..

JavaScript 2025.03.02

[JS] 코딩테스트 대비 DFS(깊이 우선 탐색) & BFS(너비 우선 탐색)

🚀 DFS(깊이 우선 탐색) & BFS(너비 우선 탐색) 개념 정리DFS와 BFS는 그래프 탐색 알고리즘으로, 그래프나 트리 구조에서 원하는 데이터를 찾거나 전체 노드를 방문할 때 사용.🔹 1. DFS(Depth-First Search, 깊이 우선 탐색)DFS는 최대한 깊이 내려가면서 탐색하는 방식. 📌 특징:한 방향으로 계속 탐색하다가 더 이상 갈 곳이 없으면 되돌아와서 다른 경로 탐색스택(Stack) 또는 재귀(Recursion)를 사용그래프의 모든 노드를 방문할 때 유용백트래킹(Backtracking) 문제에서 많이 활용📌 DFS 동작 방식:현재 노드를 방문하고 방문 표시방문한 노드의 자식 노드(연결된 노드) 중 방문하지 않은 노드로 이동더 이상 갈 곳이 없으면 뒤로 돌아감(백트래킹)모든 노..

JavaScript 2025.03.02

[JS] some()과 reduce()에 대해~

🔹 some() 메서드란?📌 배열의 요소 중 하나라도 조건을 만족하면 true 반환📌 모든 요소가 조건을 만족하지 않으면 false 반환📌 filter()나 map()보다 빠르게 검사 가능 (하나만 찾으면 바로 종료됨)✅ some() 기본 사용법let numbers = [10, 20, 30, 40, 50];let hasBigNumber = numbers.some(num => num > 30);console.log(hasBigNumber); // true (40과 50이 있음)let hasNegative = numbers.some(num => num  ✅ some()을 사용한 유효성 검사아래 코드에서 some()을 사용해 입력값이 100을 초과하거나 잘못된 값인지 확인했어요.let scores = ..

JavaScript 2025.02.27

[JS] 자바스크립트 split() 메서드

📌 자바스크립트 배열과 split() 완벽 정리자바스크립트에서 split()은 문자열을 특정 구분자(delimiter)로 나누어 배열(Array)로 변환하는 메서드입니다. 하지만 배열 자체에는 split() 메서드가 없으며, 문자열(String)에서만 사용할 수 있습니다.즉, split()을 사용하려면 문자열을 배열로 변환할 때 활용합니다. 1️⃣ split() 기본 문법string.split(separator, limit)매개변수설명separator(필수) 문자열을 나눌 기준(구분자)limit(선택) 반환할 배열의 최대 길이👉 separator를 기준으로 문자열을 쪼개고, 배열로 변환합니다.👉 limit을 설정하면 배열 길이를 제한할 수 있습니다2️⃣ 기본적인 split() 사용 예시let tex..

JavaScript 2025.02.19

[JS] 자바스크립트의 조건문 정리

1️⃣ if 문if 문은 가장 기본적인 조건문으로, 주어진 조건이 true일 때만 코드 블록이 실행됩니다.let age = 20;if (age >= 18) { console.log("성인입니다.");}✅ age가 18 이상일 경우 "성인입니다."가 출력됩니다.2️⃣ if - else 문조건이 false일 때 실행할 코드도 정의할 수 있습니다.let age = 16;if (age >= 18) { console.log("성인입니다.");} else { console.log("미성년자입니다.");}✅ age가 16이므로 "미성년자입니다."가 출력됩니다. 3️⃣ if - else if - else 문여러 조건을 평가할 때 사용합니다.let score = 85;if (score >= 90) { consol..

JavaScript 2025.02.18

[JS] 자바스크립트 변수 var , let, const 차이 그리고 호이스팅

내가 사회초년생때 웹디자이너로서 JS를 배웠을때, var로 배웠다. 그런데 시간이 흘러 이제는 let과 const로 선언을 하니 좀 생소하기도 하고 이번 기회에 개념을 한 번 잡아보고자 한다.  1. var (오래된 방식, 가급적 사용 지양)✅ 특징 함수 범위(function scope): 함수 내부에서 선언되면 함수 내에서만 유효변수 호이스팅(hoisting) 발생: 선언이 스코프의 최상단으로 끌어올려짐중복 선언 가능 (문제 발생 가능성 있음)let과 const 등장 이후에는 거의 사용하지 않음function example() { console.log(a); // undefined (호이스팅) var a = 10; console.log(a); // 10}example();   2. le..

JavaScript 2025.02.18

[JS] 코딩테스트 042 * 날짜 new Date()

문제42 : 2020년2020년 1월 1일은 수요일입니다.2020년 a월 b일은 무슨 요일일까요?두 수 a, b를 입력받아 2020년 a월 b일이 무슨 요일인지 리턴하는 함수 solution을 완성하세요.요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다.예를 들어 a = 5, b = 24라면 5월 24일은 일요일이므로 문자열 "SUN"를 반환하세요.제한 조건2020년은 윤년입니다.2020년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다.)const day = ["SUN","MON","TUE","WED","THU","FRI","SAT"];const month = "5";const date = "5..

JavaScript 2025.02.18

[JS] 코딩테스트 037 * 꼭 복습하기~!

문제37 : 반장 선거새 학기를 맞아 호준이네 반은 반장 선거를 하기로 했습니다.그런데 표를 하나씩 개표하는 과정이 너무 번거롭게 느껴진 당신은학생들이 뽑은 후보들을 입력받으면 뽑힌 학생의 이름과 받은 표 수를 출력하는프로그램을 작성하기로 하였습니다./*입력원범 원범 혜원 혜원 혜원 혜원 유진 유진출력혜원(이)가 총 4표로 반장이 되었습니다.*/const array = ["원범","원범","혜원","혜원","혜원","혜원","유진", "유진"];let result = {};let winner = "";for(let index in array){ let val = array[index]; result[val] = result[val] === undefined ? 1 : result[val] = ..

JavaScript 2025.02.17