javascript 8

javascript 코딩테스트 - 선택 정렬(selection sort)

저번에 살펴본 버블 정렬 bubble sort가 최댓값을 맨 뒤에 확정지을 때까지 스왑을 하는 거였다면 선택 정렬 selection sort는 최솟값을 맨 앞에 확정 짓는 것을 반복하는 것이다. 마찬가지로 순서대로 원리를 살펴보자. 1. 배열을 돌면서 최솟값을 찾는다. 2. 최솟값을 찾은 후에 그 원소와 배열의 맨 앞 원소의 위치를 바꿔준다. 3. 그러면 확정된 최솟값을 제외한 나머지 원소들에 대해 똑같은 과정을 반복한다. 예를 들어 [5, 3, 4, 1, 2]가 있다고 해보자. 그러면 처음에 5만 살펴보면 최솟값은 5로 설정된다. (최솟값 = 5) 그 다음 3을 살펴보면 5보다 작기 때문에 최솟값은 3으로 업데이트 된다. (최솟값 = 3) 그 다음 4를 살펴보면 3보다 크기 때문에 최솟값은 바뀌지 않는..

javascript 코딩테스트 - 버블 정렬 bubble sort

정렬은 코딩테스트나 알고리즘에서 많이 등장하는 주제 중 하나이다. 정렬 알고리즘은 위키피디아에 검색해보면 정말 많이 등장한다. https://en.wikipedia.org/wiki/Sorting_algorithm#Memory_usage_patterns_and_index_sorting Sorting algorithm - Wikipedia From Wikipedia, the free encyclopedia Algorithm that arranges lists in order In computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders..

javascript 코딩테스트 - 검색 알고리즘

검색은 말 그대로 간단하다. 어떤 배열안에 해당하는 데이터가 있는지 없는지 확인하기 위한 알고리즘이다. 1. 선형 검색 알고리즘 (linear search) 검색을 하기 위한 가장 단순한 사고방식의 알고리즘이라고 생각하면 된다. 만약 전체의 집합이 있고 찾고자하는 값이 있다면 전체 집합을 전부 다 살펴보면 된다. Write a function called linearSearch which accepts an array and a value, and returns the index at which the value exists. If the value does not exist in the array, return -1. linearSearch([10, 15, 20, 25, 30], 15) // 1 lin..

javascript 코딩테스트 - 같은 숫자는 싫어

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..

javascript 코딩테스트 - 가까운 수

이걸 보고 처음 든 생각 - 반복문을 통해서 array에 있는 애들을 하나씩 비교해줘야겠다 - 차이니깐 절대값을 써야하므로 Math.abs 가 필요하다 나의 답 function solution(array, n) { var answer = 0; for(let k of array){ if(Math.abs(answer-n) k ? k : answer } else { answer = k } } return answer; } for of 구문을 통해서 array에 있는 원소들을 하나씩 뽑아내었고 절대값을 비교하여 작은 녀석을 answer에 할당한다. 처음에 풀이할 때 실수한 부분이기도 한데 제한사항 4번째에 해당하는 조건을 빼먹었었다. 절댓값이 같으면 answer이랑 k 중 작는 애를 할당하는 조건문을 추가했다.

javascript - async 활용 try catch 문

내가 통상 쓰던 async는 then과 catch를 결합하여 좀 길긴 하지만 한 줄로 끝내는 방식 then과 catch를 활용하는 방법 외에 다른 방법으로 async를 활용하는 방법을 배워서 이렇게 정리해봄. try { nonExistentFunction(); } catch (error) { console.error(error); // expected output: ReferenceError: nonExistentFunction is not defined // Note - error messages will vary depending on browser } 기본적인 형식은 이러함 사실 거의 똑같음 then 대신 try catch는 그래도 이런 느낌 const func = async () => { try ..

웹/Javascript 2022.07.11

javascript 코딩 테스트 - 로또의 최고 순위와 최저 순위(2021 Dev-Matching)

문제풀이 사고 과정 1. lottos에 있는 숫자는 0과 0이 아닌 숫자로 구별된다. 2. 0이 아닌 숫자들의 정답 개수를 확인한 후 0의 개수에 따라 최고 순위가 바뀐다. (최저 순위는 변동 X) ex. 0 3개, 0이 아닌 숫자 3개일 때 3개 중 1개만 일치한다면 최저 정답 개수는 1개로 고정 3. 정답개수 + 순위 = 7 (예외: 정답 개수가 0 이하) 0의 개수와 0이 아닌 숫자 중 정답 개수를 각각 zeroCount, accordCount 변수 선언 lottos 배열은 forEach 반복문을 돌면서 0이면 zeroCount 개수 올라가고 0이 아니면 win_nums 배열을 또 돌면서 일치하는 숫자가 있는지 없는지 확인 있다면 accordCount 개수 올라간다. 사고 과정 3번에 의해 순위 =..

웹/Javascript 2021.12.21

javascript 코딩테스트 문제 풀어보기 - 홀수 (forEach,sort)

문제의 예시로 주어진 배열인 [12,77,38,41,53,92,85]를 만들어서 풀이했습니다. 홀수를 담을 빈 배열인 oddArr를 선언해주고 arr의 각 원소들에 대해 반복문을 사용했습니다. 2로 나눴을 때 나머지가 1인 원소들은 oddArr에 push 합니다. count라는 변수를 선언하고 oddNumber의 원소를 반복문을 통해 더해줍니다. 그리고 다 더한 값인 count를 console.log()합니다. oddArr를 내림차순 정렬해주기 위해 sort((a, b)=>{return a-b})를 활용합니다. oddArr는 이제 내림차순으로 정렬되었기에 이 중 최솟값은 oddArr의 첫 번째 원소입니다. 그래서 console.log(oddArr[0])를 하면 홀수들의 합인 256과 홀수의 최솟값인 41..

웹/Javascript 2021.12.18
728x90