목록전체 글 (126)
차차로그
JavaScript에서 이벤트는 사용자가 클릭이나 스크롤을 내리는 행동을 할 때 브라우저가 이 행동을 감지하는 것을 말한다. 이벤트 리스너EventListener, 이벤트 핸들러EventHandler를 통해 이벤트 처리를 할 수 있다. -이벤트 리스너 : 하나의 요소에 복수의 이벤트 처리가 가능 -이벤트 핸들러 : 하나의 요소에 단일 이벤트 처리만 가능 (인라인방식, 프로퍼티방식) 이벤트 등록 방법 1. 인라인 방식 이벤트를 HTML 요소의 속성으로 직접 지정하는 방식이다. 단점 : HTML 코드에 JS 코드가 추가되어 유지보수가 좋지 않다. Click 2. 프로퍼티 방식 인라인 방식의 단점을 보완하여 나온 JS코드에 프로퍼티를 등록하는 방식이다. 단점 : 하나의 이벤트 핸들러 프로퍼티에 하나의 이벤트 ..
function solution(n) { var a = Math.sqrt(n); return a % 1 == 0 ? Math.pow(a+1, 2) : -1; } 문제자체는 쉬웠지만 제곱근을 판별하는 것과 정수를 체크하는 부분에서 어려웠다.. Math.sqrt(정수)를 하면 정수의 제곱근을 리턴해준다. 정수 판단은 1로 나누었을 때 나머지가 0이 되면 정수인 점을 이용해 판단한다. Math.pow(정수, 몇 제곱)으로 제곱을 구해도 되고 정수**몇제곱으로 제곱을 구해도 된다.
function solution(a, b) { var answer = 0; if(a > b){ for(var i = b; i
function solution(n) { return (n+"").split("").reverse().map(v => v*1); } 자연수를 먼저 배열에 담아주기 위해 n에 ""를 붙여 문자열로 만들어주고 split으로 배열에 담아줬다. reverse를 사용해 그 순서를 뒤집고 지금 배열에는 ["5","4"..."1"]처럼 요소가 문자열이라 map을 이용해 각 요소에 1을 곱해줘 숫자로 만들어준다. parseInt(v)를 해도 무방하다. function solution(n) { // 숫자풀이 var arr = []; do { arr.push(n%10); n = Math.floor(n/10); } while (n>0); return arr; } 다른 사람 풀이 arr 배열에 n을 10으로 나눈 나머지를 넣..
function solution(num) { var answer = 0; while(num > 1){ if(num % 2 == 0){ num = num / 2; answer++; }else{ num = num * 3 + 1; answer++; } if(answer == 500 && num != -1){ return -1; } } return answer; } num이 1이 될 때까지 연산을 반복해야하기 때문에 while을 사용했다. num이 짝수면 2를 나누고 연산횟수(answer)를 1씩 올려준다. 홀수인 경우 3을 곱하고 1을 더하고 연산횟수를 1 올려준다. 연산횟수가 500번이 되도 num이 1이 되지 않을 경우엔 -1을 리턴하라고 했으므로 따로 if조건을 달아줬다.