전체 글 182

LV1 - 자릿수 더하기

풀이 function solution(n) { let changeToString = n.toString(); let sum = 0; for (let i = 0; i < changeToString.length; i++) { sum = sum + Number(changeToString[i]); } return sum; } 숫자를 문자를 바꿔주고 changeToString이라는 변수에 넣어주었다. 그리고 sum이라는 변수를 선언해주고 초깃값으로 0을 할당해준다. for문을 돌면서 각 문자화된 숫자를 다시 숫자로 변환해주고 sum이라는 변수에 계속 더해나간다.

선택 정렬 알고리즘

// 무작위 데이터를 순서대로 [오름차순 | 내림차순] 정렬 //정렬 알고리즘 : 가장 작은/큰 데이터를 왼쪽으로 순서대로 이동 (function () { //[1] Input: Data Structure (Array,List,Stack,Queue,Tree,DB) let data = [3, 2, 1, 5, 4]; // 정렬되지 않은 데이터 const N = data.length; //[2] Process: Selection Sort (선택정렬) 알고리즘 for (let i = 0; i data[j]) { //부등호 방향: 오름차순(>) 내림차순(

순위알고리즘

// 문제: 주어진(지정한 범위)데이터 순위(등수)를 구하는 로직 // 순위알고리즘(Rank Algorithm) :점수 데이터에 대한 순위 구하기 (function () { //[1] Input var scores = [90, 87, 100, 95, 80]; //등수 3,4,1,2,5 var N = scores.length; var rankings = Array(N).fill(1); // 핵심: 모두 1로 초기화. 그리고 나보다 큰 정수가 나오면 하나씩 등수를 떨어뜨리는 작업 //[2] Process for (let i = 0; i < N; i++) { rankings[i] = 1; //순위 배열을 매 회전마다 1등으로 초기화 for (let j = 0; j < N; j++) { if (scores[i]..

근사값 알고리즘

// 문제: 원본 데이터 중에서 대상 데이터와 가장 가까운 값 // 근사값 알고리즘(Near Alogrithm): 가까운 값을 구한다. -> 차잇값의 절대값의 최솟값 (function () { // [0] Initialize let min = Number.MAX_SAFE_INTEGER; // [1] Input var numbers = [10, 20, 30, 27, 17]; //예상 결과 값: 27 var target = 25; //target과 가장 가까운 값 var near = 0; // [2] Process: Near for (let i = 0; i < numbers.length; i++) { var abs = Math.abs(numbers[i] - target); if (abs < min) { mi..

최솟값 알고리즘

// 문제: 주어진 데이터 중에서 가장 작은 짝수 값 // 최솟값 알고리즘(Min Alogorithm): 주어진범위 + 주어진 조건의 자료들의 가장 작은 값. (function () { // [0] Initialize => 최댓값, 최솟값 알고리즘은 초기화가 반드시 필요 (해당 데이터에서 가장 큰 데이터를 넣는다) let min = Number.MAX_SAFE_INTEGER; //[1] Input var numbers = [2, 5, 3, 7, 1]; let N = numbers.length; //[2] Process for (let i = 0; i < N; i++) { if (numbers[i] < min && numbers[i] % 2 === 0) { min = numbers[i]; } } //[3]..

최댓값 알고리즘

// 문제: 주어진 데이터 중에서 가장 큰 값 // 최댓값 알고리즘(Max Algorithm): 의 자료들의 가장 큰 값 (function () { // [0] Initialize => 최댓값, 최솟값 알고리즘은 초기화가 반드시 필요 (해당 데이터에서 가장 작은 데이터를 넣는다) var max = Number.MIN_SAFE_INTEGER; // 숫자 형식의 데이터 중 가장 작은 값으로 초기화 // Number.MIN_SAFE_INTEGER => 가장 작은 값 불러옴 //[1] Input var numbers = [-2, -5, -3, -7, -1]; var N = numbers.length; //[2] Process for (i = 0; i max) ..

평균 알고리즘

// 문제: n명의 점수 중에서 80점 이상 95점 이하인 점수의 평균 // 평균 알고리즘 (Average Algorithm): 주어진 범위에 주어진 조건에 해당하는 자료들의 평균. (function () { //[1] Input (입력) :n명의 성적 var data = [90, 65, 78, 50, 95]; var sum = 0; //합계 담는 그릇 var count = 0; //개수 담는 그릇 //[2] Process(처리) //평균 알고리즘 = sum 알고리즘 / count알고리즘 for (i = 0; i = 80 && data[i]

1 2 3 4 5 6 7 ··· 19