자바스크립트 23

[Javascript] 프로그래머스 : 프린터

[Javascript] 프로그래머스 Level 2 _ 프린터 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) ✏️ 제출 코드 큐 프린터를 구현하는 문제였다! 처음에는 최댓 값을 기준으로 두 덩이로 나눠서 다시 이어 붙이고를 반복해야하나? 생각해서 복잡했었다 ㅠㅠ 하지만 단순하게 해당 타겟이 몇번째로 빠져나가는지만 구하면 되기 때문에 ① 맨 앞의 요소가 max라면 shift()를 해준 뒤 빠져나간 순서를 카운트 해주고, ② 아니라면 shift()와 push()를 함께 사용해 다시 뒤에 이어 붙여주기를 반복하는 과정을 구현했다. 그리고 ① + 조건으로 배열의 남은 요소 중 해당 타겟이 max라면 카운트를 리턴하는 조건을 추가했다. ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 ..

Programmers/Level 2 2021.08.19

[Javascript] 프로그래머스 : 최솟값 만들기

[Javascript] 프로그래머스 Level 2 _ 최솟값 만들기 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서 든 생각들.) ✏️ 제출 코드 오늘은 양심적으로 쉬운 거 + 쉬운 거로 하나 더 풀었다 ㅎㅎㅎㅎㅎㅎㅎㅎ 문제는 두 배열의 요소들을 각각 곱했을 때 합이 최솟값이 되도록 만드는 문제였는데 큰 수 일수록 작은 수와 곱해져야 하기 때문에 A 배열의 작은 순서대로 정렬하고, B배열의 큰 순서대로 정렬해서 각각 곱했다 !!!! 역시 문제 풀이를 보니 비슷하게 같은 방법으로 푸신 분들이 많았다...! ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️ *** 혹시라도 잘못된 정보가 있다면 언제든지 알려주시면 감사하겠습니다 ! ***

Programmers/Level 2 2021.08.18

[Javascript] 프로그래머스 : 최댓값과 최솟값

[Javascript] 프로그래머스 Level 2 _ 최댓값과 최솟값 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서 든 생각들.) ✏️ 제출 코드 오늘은 Level 2의 다른 문제들을 풀어보려고 하다가 ,,,, 동적 계획법에 좌절하고 제일 쉬워 보이는 걸 풀었다 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ 그래도 배열에서 Math.max(), Math.min()을 쓸 수 있게 해 준 잘 써보지 않았던 apply() 함수를 사용해 볼 수 있었다,,, 하하하 🥲 +) 배열에서 Math.max(), Math.min()을 사용하고 싶을 때, ES6 문법인 스프레드 연산자를 사용하면 apply()를 사용하지 않고도 사용할 수 있다! 참고로 코드에 추가했다! ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다...

Programmers/Level 2 2021.08.18

[Javascript] 프로그래머스 : 3진법 뒤집기

[Javascript] 프로그래머스 Level 1 _ 3진법 뒤집기 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) ✏️ 제출 코드 - solution 1. 풀고 보니 다들 toString()으로 진법 변환을 하셨다..! 10진수를 다른 진수로 변환할 때는 toString(), 다른 진수를 10진수로 변환하기 위해서는 parseInt()를 사용한다고 한다. 하지만 몰랐기에 그냥 구했다! - solution 2. for문 대신에 reduce()의 콜백 함수의 파라미터로 currentIndex를 추가해서 합을 계산했다! - solution 3. 마지막으로 toString()으로도 바꿔봤다! reduce()와 함께 사용하기 위해 문자열을 정수로 바꿔주는 과정이 추가되었다! +) 오..

Programmers/Level 1 2021.08.17

[Javascript] 프로그래머스 : 음양 더하기

[Javascript] 프로그래머스 Level 1 _ 음양 더하기 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) 1. 음양 더하기라길래 뭔가 했더니 음수와 양수 더하기 였다 ㅎㅎㅎㅎㅎㅎㅎ 간단하게 reduce 함수로 누적합을 계산했다! function solution(absolutes, signs) { for(let i in absolutes) { if(!signs[i]){ absolutes[i] -= absolutes[i]*2 } } return absolutes.reduce((acc, val) => acc + val); } function solution(absolutes, signs) { for(let i in signs) { if(!signs[i]) absolutes..

Programmers/Level 1 2021.08.16

[Javascript] 프로그래머스 : 문자열 내 마음대로 정렬하기

[Javascript] 프로그래머스 Level 1 _ 문자열 내 마음대로 정렬하기 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) 1. 문자열 배열의 문자열과 n번째에 해당하는 문자 두가지를 저장하는 객체들로 이루어진 배열을 생성한 뒤 문자 기준으로 정렬한 후 문자열만 다시 배열에 저장해서 리턴했다! function solution(strings, n) { function Extract(string, n) { this.string = string; this.word = string[n]; } let arr = []; for(let i in strings) { arr.push(new Extract(strings[i], n)); } arr.sort(function(a, b) { ..

Programmers/Level 1 2021.08.16

[JS] querySelector , querySelectorAll ?

자바스크립트에서 html DOM에 접근하여 제어하기 위해 getElementById, querySelector, querySelectorAll 등의 Document 메소드를 통해 객체를 가져온다. querySelector ? getElementById는 주어진 id를 가진 엘리먼트(요소)를 찾아오지만, querySelector의 경우 id 혹은 class 중 주어진 선택자에 만족하는 요소를 찾아올 수 있다! //id 선택자 document.querySelector("#id"); //class 선택자 document.querySelector(".class"); 유의해야 할 점은 중복되는 id를 가진 경우 첫 번째의 요소만을 가져올 수 있는 것이다. 그렇다면 같은 선택자를 가진 모든 요소를 가져오고 싶을 때..

JS/Javascript 2021.08.05

[JS] 자바스크립트 표준 내장 객체 : Date

Date는 자바스크립트 표준 내장 객체로 날짜와 시간을 다룰 때 사용되는 객체이다. 생성자 정적 메소드 인스턴스 메소드 1. 생성자 (Constructor) - Date( ) 함수로 호출 할 경우, new Date().toString()과 동일하게 현재 날짜와 시간을 나타내는 '문자열'을 반환한다. - new Date( ) 생성자로 호출 할 경우, 새로운 Date 객체를 반환한다. 2. 정적 메소드 (Static methods) 인스턴스 생성 없이 아래와 그대로 사용! - Date.now( ) : 1970년 1월 1일 00:00:00 UTC로부터 현재까지 경과시간을 밀리초 단위 숫자 값으로 반환 - Date.parse( ) - Date.UTC( ) 3. 인스턴스 메소드 (Static methods) 인스..

JS/Javascript 2021.08.04

[Javascript] 프로그래머스 : 나누어 떨어지는 숫자 배열

[Javascript] 프로그래머스 Level1 _ 나누어 떨어지는 숫자 배열 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) 1. 반복문을 이용해 배열을 돌며 divisor로 나누어 떨어지는 수 들을 리턴했다. LENGTH를 선언한 것은 반복문에서 Array.length를 사용할 경우 반복문이 실행될 때마다 배열의 length를 구하는 작업을 하게 되어 결론적으로는 성능에 좋지 못하다는 글을 우연히 봤다. (아래에 링크를 걸어 두었다!) 아직 그런 걸 확인할 수 있을 만큼 깊이가 있지는 않지만ㅎㅎㅎㅎ 봤으니 나쁜 습관이 되기 전에 고쳐보려고 한다! function solution(arr, divisor) { const LENGTH = arr.length; let answer..

Programmers/Level 1 2021.07.15