본문 바로가기

전체 글81

[프론트엔드스쿨] WIL 6주차 제로베이스 프론트엔트 스쿨 6주차 WIL Weekly I learned... 자바스크립트 스터디를 진행하면서 강의를 들으며 빠르게 지나쳤던 개념들을 다시 살펴보았다. 1. DOM - 텍스트로 되어 있는 HTML 문서를 브라우저가 이해할 수 있는 자료 구조(트리구조)로 생성한 것. 2022.09.11 - [JavaScript] - DOM 소개 (그래서 DOM이 뭔데?) 2. 객체의 메서드와 this - JS의 객체는 메서드라는 속성을 가진다. 이는 객체 프로퍼티에 할당된 함수로 객체가 행동할 수 있게 해준다. 2022.09.07 - [JavaScript] - 자바스크립트 객체의 메서드와 this JS토이프로젝트 강의를 들으면서 DOM 인터페이스 메서드들을 직접 다루게 되었다. 그 중 가장 많이 사용한 것을.. 2022. 9. 11.
DOM 소개 (그래서 DOM이 뭔데?) 들어가며 이 글은 이해가 안가는 부분에 대한 학습을 위해 정리한 글입니다. 그래서 조금더 쉬운말과 간략한 내용들 위주로만 작성하였으니 참고하시기 바랍니다. 또한 여러 문서를 참고하면서 최대한 틀리지 않으려고 노력했으나, 잘못된 내용이 있다면 지적해 주시기 바랍니다. DOM (Document Object Model) MDN에 따르면, DOM은 아래와 같다. 문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다. DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕.. 2022. 9. 11.
프로그래머스 Lv.1 로또의 최고 순위와 최저 순위 (JavaScript) 자바스크립트로 프로그래머스 문제 풀기 문제 - 출처: https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 기출문제입니다. [문제 설명] 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되.. 2022. 9. 10.
프로그래머스 Lv.1 약수의 합 (JavaScript) 자바스크립트로 프로그래머스 문제 풀기 문제 - 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12928 입력받은 수의 약수의 합을 구하는 문제이다. 소수 찾기의 반대로 생각하면 된다. 소수찾기에 대한 내용은 다음 글에 정리하였다. 2022.09.03 - [자료구조&알고리즘/개념 및 이론] - 소수 구하기 (자바스크립트) 소수 구하기 (자바스크립트) 소수 (Prime number) 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수이다. 정수론에서 매우 중요한 주제이며, 특히 현대사회에서 암호학에서 많이 사용하여서 매우 중요해졌다. 출 peach-milk.tistory.com 풀이 나의 풀이 function solution(n).. 2022. 9. 10.
프로그래머스 Lv.1 문자열 내림차순으로 배치하기 (JavaScript) 자바스크립트로 프로그래머스 문제 풀기 문제 - 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12917 문자열을 대소문자를 구분해서 내림차순으로 정렬하는 문제이다. 풀이 나의 풀이 function solution(s) { return s.split("").sort().reverse().join("") } Study more... 문제를 결국 풀긴했는데 처음에 sort((a,b) => (b - a)) 의 형식으로 풀었더니 정렬이 되지 않았다. 그래서 sort함수에 다시 살펴보았다. (출처: MDN) Array.Prototype.sort() 메서드와 문자열 정렬 - 배열의 요소를 정렬하는 메소드이며, 기본 정렬 순서는 유니코드 코드 포인트를 따.. 2022. 9. 10.
자바스크립트 객체의 메서드와 this 객체 지향 프로그래밍(OOP) 자바스크립트(JavaScript)는 객체 지향적 프로그래밍 언어 중 하나이다. 객체 지향 프로그래밍(Object-Oriented Programming, OOP)는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.(출처: 위키백과) 따라서 자바스크립트에서의 객체에 대한 이해가 중요하다. 그중 메서드와 this에 관하여 모던자바스크립트 튜토리얼 및 mdn을 참조하여 정리하였다. 자바스크립트의 객체는 메서드(메소드, method)라는 속성을 가지고 있다. 메서드(Method)란? 객체의 속성인 함수이다. 객체의 property에 할당된 함.. 2022. 9. 7.
소수 구하기 (자바스크립트) 소수 (Prime number) 소수는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수이다. 정수론에서 매우 중요한 주제이며, 특히 현대사회에서 암호학에서 많이 사용하여서 매우 중요해졌다. 출처: 위키백과 소수 판별하기 (JavaScript) 소수를 판별하는 방법은 여러가지가 있다. 그 중 아래의 두가지를 소개한다. 이 판별법은 입력값이 소수인지 아닌지를 판별하는 방법이다. 이를 응용해서 소수의 개수를 구할수도 있다. 반복문 (제곱근으로 최적화 가능) 에라토스테네스의 체 1. 반복문 1) 가장 기본적인 방법으로 반복문을 수행하면서 1이외의 수로 나누어 떨어지지 않는지 확인한다. 이때 시간복잡도는 O(n)이 된다. function isPrime(num) { if(num === 1) return .. 2022. 9. 3.
프로그래머스 Lv1. 2016년 (JavaScript) 자바스크립트로 프로그래머스 문제 풀기 문제 입력받은 날의 요일을 특정한 문자열로 반환하는 문제이다. - 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12901 풀이 나의 풀이 Date객체를 생성해서 getDay()를 통해 요일값을 얻은 후 switch문을 사용해서 매우 긴 코드를 작성하였다. function solution(a, b) { var answer = new Date(2016, a - 1, b); // Date객체 생성 answer = answer.getDay(); // 요일 정보 얻기 switch (answer) { case 0: answer = "SUN"; break; case 1: answer = "MON"; break; c.. 2022. 9. 3.
프로그래머스 Lv.1 같은 숫자는 싫어 (JavaScript) 자바스크립트로 프로그래머스 문제 풀기 문제 - 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12906 배열안에 같은 숫자가 연속되지 않게 하는 문제이다. 풀이 나의 풀이 function solution(arr) { var answer = []; for(let i = 0; i < arr.length; i++) { if(answer[answer.length - 1] === arr[i]) continue; answer.push(arr[i]); } return answer; } 배열을 순회하면서 answer 배열 마지막의 값이 집어넣으려는 값과 동일하지 않을때만 push한다. 다른 사람들 풀이 function solution(arr) { retu.. 2022. 8. 27.