-
[알고리즘/자바스크립트] 함수로 계산하기 (Calculating with Functions)Algorithm 2019. 4. 29. 15:03
-해당 문제는 codewars사이트의 level5 문제입니다. (1~8단계 중 8단계가 가장 쉬운 레벨)- [문제] This time we want to write calculations using functions and get the results. Let's have a look at some examples: JavaScript: seven(times(five())); // must return 35 four(plus(nine())); // must return 13 eight(minus(three())); // must return 5 six(dividedBy(two())); // must return 3 Ruby: seven(times(five)) # must return 35 four(plu..
-
[알고리즘/자바스크립트] 연속하는 숫자의 합 중 가장 큰 값 구하기 (Maximum subarray sum)Algorithm 2019. 4. 28. 23:18
-해당 문제는 codewars사이트의 level5 문제입니다. (1~8단계 중 8단계가 가장 쉬운 레벨)- [문제] The maximum sum subarray problem consists in finding the maximum sum of a contiguous subsequence in an array or list of integers: maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4]) // should be 6: [4, -1, 2, 1] Easy case is when the list is made up of only positive numbers and the maximum sum is the sum of the whole array. If the list is..
-
[JS/반복문] 자바스크립트, 가장 기초적인 반복문 for문의 동작 원리 (for문/이중for문/break/continue)Frontend 2019. 4. 28. 14:17
어떤 언어에서든지 매우 중요하게 다뤄지는 반복문에 대해서 정리해보려고 한다. 1. for문 반복문은 어떤 동작을 여러 번 실행할 때 사용한다. 만약에 어떤 변수에 1부터 10까지 더한다고 생각해보자. 반복문이 없다면 우리는 변수에 계속해서 숫자를 더하는 코드를 10줄 써야할 것이다. var sum = 0; sum += 1; sum += 2; sum += 3; sum += 4; sum += 5; sum += 6; sum += 7; sum += 8; sum += 9; sum += 10; 이 얼마나 귀찮은(!) 100까지 더하면 100줄, 1000까지 더하면 1000줄로 늘어난다(!) 물론 컴퓨터는 매우 똑똑해서 귀찮은 반복작업을 대신 해준다. 그 때 사용하는 것이 반복문인데 가장 많이 사용되는 for문으로 ..
-
[JS/Arguments] 자바스크립트, Arguments 객체에 대해서.Frontend 2019. 4. 24. 15:40
Javascript, The Arguments Object function makeSum (num1, num2) { return num1 + num2; } makeSum(4, 7); 만약에 위와 같이 어떤 숫자의 합을 구하는 간단한 function을 만들었다고 해보자. 함수 파라미터로 num1, num2에 각각 숫자를 넣으면 그 숫자의 합을 구해서 return하는 함수이다. 그런데 위와 같이 함수를 만들면 우리는 딱 2개의 숫자만 더할 수 있다. 그러니까 즉, 함수를 처음 만들 때 지정한 parameter의 개수만큼만 가져와서 연산할 수 있다는 말이다. 그렇다면 만약에 어떤 경우에는 파라미터로 3, 5, 6, 8을 넘겨주고 이 숫자들의 합을 구하고 어떤 경우에는 7, 34, 2, 7, 8, 23, 4 이..
-
[JS/클로져] 자바스크립트의 Lexical scoping과 ClosureFrontend 2019. 4. 23. 15:25
하.. 너무 이해하기 어렵고 힘들었는데 최대한 MDN이랑 W3Cschools 글을 읽고 또 읽어서 이해한 내용을 정리해보려고 한다. 내가 정리한 내용들은 모두 아래 링크로 들어가면 나온다. Closures A closure is the combination of a function and the lexical environment within which that function was declared. developer.mozilla.org JavaScript Function Closures JavaScript Closures JavaScript variables can belong to the local or global scope. Global variables can be made local (pr..
-
[JS/입력값검증] 숫자 3자리마다 ,(콤마)찍기 / 숫자와 콤마를 제외한 문자 입력 제한 / 0으로 시작 못하게 제한 / keyup이벤트Frontend 2019. 4. 19. 23:10
오늘은 input박스에 숫자를 입력했을 때 여러가지 이벤트 주는 것을 구현해보려고 한다. 키보드를 입력하는 것과 동시에 이벤트가 발생해야하므로 keyup이벤트를 사용할 예정이다. 1. 숫자 3자리마다 ,(콤마)찍기 2. 숫자와 콤마를 제외한 나머지 문자를 입력할 수 없도록 막기 3. 0으로 시작하지 못하게 제한하기 먼저 숫자 3자리마다 콤마를 찍기 위해 아래와 같은 함수를 만들어보았다. function insertComma(num) { if(num.length
-
[알고리즘/자바스크립트] 트리보나치, 피보나치 수열 "재귀함수"로 구하기 (Fibonacci, Tribonacci Sequence)Algorithm 2019. 4. 15. 00:28
[알고리즘/자바스크립트] 트리보나치 수열 구하기 (Tribonacci Sequence) -해당 문제는 codewars사이트의 level6 문제입니다. (1~8단계 중 8단계가 가장 쉬운 레벨)- [문제] Well met with Fibonacci bigger brother, AKA Tribonacci. As the name may already reveal, it works basicall.. im-developer.tistory.com 2개월 전에 풀었던 알고리즘 문제를 "재귀함수"를 이용해서 풀어보았다. 지난번에는 위 링크를 보면 알겠지만 function tribonacci (signature, n) { if(n
-
[자바스크립트 기본서 추천] Do it! 웹프로그래밍을 위한 자바스크립트 기본편Frontend 2019. 4. 14. 22:07
Do it! 웹 프로그래밍을 위한 자바스크립트 기본편 Review 발간된지 얼마 안 된 Do it! 시리즈의 따끈따끈한 신간을 보고 매우 큰 반가움을 느꼈다. 이유는 두 가지가 있는데 일단 Do it! 시리즈 자체가 유명하다. 책이 워낙 쉽게 잘 만들어져서 코딩 첫 입문서로 많이 추천받은 시리즈이기도 하다. 두 번째는 "자바스크립트"라는 최근 IT업계의 트렌드가 반영된 신간이기 때문이다. Do it 시리즈 중에 제일 유명한 책 중 하나가 "Do it! 자바스크립트 + 제이쿼리 입문"이다. 내가 처음으로 코딩을 배웠을 때 학원 강사님이 추천해준 책 리스트 1번에 있던 책이다. 전에 일하던 회사에서 신입 한 명이 요즘 제이쿼리를 공부하고 있다면서 이 책을 보여주기도 했었다. 그만큼 유명하지만 이 책이 내 관..
-
[JS] 자바스크립트, 가장 기초적인 조건문 정리 (if문/if-else문/삼항연산자/switch문)Frontend 2019. 4. 12. 22:34
1. if문 / if - else문 if(조건식) { // 조건식이 true인 경우 } else { // 조건식이 false인 경우 } 조건식이 만족하면 바로 아래로, 조건문이 만족하지 않으면 else문으로 빠지는 형태이다. else문은 생략가능하다. 제일 많이 쓰고 가장 중요한 제어문 중에 하나이다. if-else문의 명령어가 한 줄이면 {}는 생략가능하다. if(조건식) //명령어 else //명령어 다음은 자바스크립트에서 false로 인식하는 값들이다. (이를 falsy한 값이라고 표현한다.) 0 "", '' (빈값) NaN undefined null 위 값들을 제외한 모든 값들은 다 true로 인식한다. (truthy한 값이라고 표현.) console.log(!!'hello'); 예를 들면 위 값..
-
[JS/연산자] 자바스크립트로 "나이 계산기 / 할인 가격 계산기" 구현해보기Frontend 2019. 4. 12. 00:18
# 나이 계산기 input박스에 태어난 연도를 입력하고 버튼을 클릭하면 아래에 나이가 출력된다. 입력하지 않고 버튼을 클릭했을 경우 "태어난 연도를 입력하세요" 문구 출력하고 input박스가 focus된다. dom, 연산자 연습 HTML: SUBMIT 당신의 나이는: SCRIPT: document.querySelector('#testAgeBtn').addEventListener('click', function() { var birthYear = document.querySelector('#testUserYear').value; if(! birthYear) { alert('태어난 연도를 입력하세요'); document.querySelector('#testUserYear').focus(); } else { ..