분류 전체보기 44

[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

[JS] 코딩테스트 036 - 구구단 for문 응용

문제36 : 구구단 출력하기1~9까지의 숫자 중 하나를 입력하면그 단의 구구단 결과를 한 줄에 출력하는 프로그램을 작성하세요./*입출력입력 : 2출력 : 2 4 6 8 10 12 14 16 18*/const num = prompt('숫자를 입력하세요!');let result = "";for(let i=0;i 아래와 같은 방법으로도 출력할 수 있다.(아래 코드는 내가 좀 더 보강 하였다.)굳이 result 변수를 더 사용하지 않고 작성해 보았다./* 구구단의 원리~ 3x1 = 3 ... 3x9 = 27 3을 입력받고... 1~9는 반복문을 통해 생성해주면서 출력한다.*/const num = Number(prompt("숫자를 입력하세요!"));for(let i=1; i

JavaScript 2025.02.17

[JS] 코딩테스트 035 - 팩토리함수**** 클로저 개념

문제35 : Factory 함수 사용하기2제곱, 3제곱, 4제곱을 할 수 있는 Factory 함수를 만들려고 합니다. pass에 코드를 작성하여 two함수를 완성하세요.function one(n){ function two(){ //pass } return two;}const a = one(2);const b = one(3);const c = one(4);console.log(a(10));console.log(b(10));console.log(c(10));function one(n){ function two(x){ return Math.pow(x , n); } return two;}const a = one(2);const b = one(3);cons..

JavaScript 2025.02.17

[JS] 코딩테스트 032~034 - 배열의 split() 활용 및 sort() 정렬 메서드

문제32 : 문자열 만들기취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다.열심히 자기소개서를 작성하던 도중 혜림이는자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다.혜림이를 위해 문자열을 입력받으면단어의 갯수를 출력하는 프로그램을 작성해 주세요./*입출력입력 : 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다.출력 : 5*/ 입력받은 문장을 " " 띄어쓰기 단위로 잘라 배열로 저장하고 그 배열의 길이값을 구한다.const words = "안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다."console.log(words.split(" ").length); 문제33 : 거꾸로 출력하기한 줄에 여러개의 숫자가 입력되면,역순으로 그 숫자들을 하나씩 출력하는 프로그램을 작성하시오.입출력입력 : ..

JavaScript 2025.02.17