var, let, const 그리고 호이스팅
참고자료 https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90 var, let, const 차이점 JavaScript에서 변수 선언 방식인 `var, let, const` 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, `var`는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하 velog.io 이 글은 위 블로그 글을 타이핑해보면서 공부한 글입니다. 자세한 내용은 위 글을 참고해주세요. JavaScript에서 변수 선언 방식인 var, let, const의 차이점에 대해 알아보자. 변수 선언 방식 우선 var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. v..
함수 바인딩
참고자료 https://ko.javascript.info/object-methods 메서드와 this ko.javascript.info 이 글은 위 자료를 보고 타이핑하면서 공부한 내용입니다. 자세한 설명은 위 튜토리얼을 참고해주세요. setTimeout에 메서드를 전달할 때 처럼, 객체 메서드를 콜백으로 전달할 때 this 정보가 사라지는 문제가 생깁니다. 이번 챕터에선 이 문제를 어떻게 해결할지에 대해 알아보겠습니다. 사라진 'this' 앞서 다양한 예제를 통해 this 정보가 사라지는 문제를 경험해보았습니다. 객체 메서드가 객체 내부가 아닌 다른 곳에 전달되어 호출되면 this 가 사라집니다. setTimeout을 사용한 아래 예시에서 this가 어떻게 사라지는지 살펴봅시다. let user = {..
메서드와 this
참고자료 https://ko.javascript.info/object-methods 메서드와 this ko.javascript.info 이 글은 위 자료를 보고 타이핑하면서 공부한 내용입니다. 자세한 설명은 위 튜토리얼을 참고해주세요. 메서드 만들기 자바스크립트에선 객체의 프로퍼티에 함수를 할당해 객체에게 행동할 수 있는 능력을 부여해줍니다. let user = { name: "John", age: 30 }; user.sayHi = function() { alert("안녕하세요!"); }; user.sayHi(); // 안녕하세요! 함수 표현식으로 함수를 만들고, 객체 프로퍼티 user.sayHi 에 함수를 할당해 주었습니다. 이제 객체에 할당된 함수를 호출하면 user가 인사를 해줍니다. 이렇게 객체 ..
[백준/Python] 11279 최대힙
문제링크 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 문제풀이 import sys import heapq input = sys.stdin.readline num = int(input()) heap = [] for i in range(num): inputN = int(input()) if inputN == 0 : if len(heap)==0: print(0) else : print(-1*heapq.heappop(heap)) else : heapq.heappush(heap,-1*inputN)
[백준/Python] 2696번 중앙값 구하기
문제링크 2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net 참고자료 http://mwultong.blogspot.com/2007/06/median.html 중앙값이란? 통계에서 중간값, 메디안의 의미; Median mwultong.blogspot.com https://sanghoon9939.tistory.com/32 Baekjoon-2696)중앙값 구하기 백준 사이트 URL : https://www.acmicpc.net/problem/2696 문제 분석 입력 : 테스트크기 T, 수열..
[백준/Python] 21939 문제 추천 시스템 Version 1
문제링크 21939번: 문제 추천 시스템 Version 1 tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령 www.acmicpc.net 배운점 1시간 정도 사소한 조건을 만족하지 못해 허비했다. 짜증이 난다. 그래도 배운게 많은 문제이다. 이 문제의 조건에서 recommend 1 이 입력되게 되면 가장 어려운 난이도의 문제 번호를 출력하게 되는데 나는 문제에 나와 있지도 않는데 힙의 최상위 원소를 출력하면 되는데 heappop을 시켰다. 머리를 한대 때렸다. 파이썬에서 최대힙을 구현하는 과정에서 -1 을 곱해서 넣어주게된다. 나는 처음에는 (-1 * 문제 난..
hello skin 사이드바 크기가 이상할때
사건배경 hello skin 을 적용한지 두달 정도 되었습니다. 최근에 블로그를 아주 조금 바꾸기도 해서 UI부분이 잘 되는지 테스트를 해보고 있었어요. 그런데 사이드바 크기가 조금 이상했습니다. 딱 보기에도 비율이 맞지 않았어요. 문제해결 정말 해결해보려고 스킨 초기화하고 css , html 바뀐거 다 체크했는데도. 못고쳤었습니다. 근데 딱 갑자기 생각이 나더라구요. 크롬 브라우저가 100%가 아니였어요. 머리 한대 쎄게 때렸습니다.
[백준/JS] 4358 생태학
문제링크 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 배운점 Map의 value값에 +1 을 해주기 위해서는 다시 set을 사용하여야합니다. 알고 있었지만 뭔가 낯설어서 메모합니다. for (let i = 0; i < input.length; i++) { if (dic.get(input[i])) { //상기시킨점 dic.set(input[i], dic.get(input[i]) + 1); } else { dic.set(input[i], 1); } } Map의 크기를 알아내기위해서는 size 라는 ..
[백준/Python] 7662 우선순위 큐
문제링크 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 문제풀이 참고한 블로그 https://imzzan.tistory.com/31 [백준][Python] 7662번 이중 우선순위 큐 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이 imzzan.tistory.com 우선순위 큐는 heap으로 구현이 가능합니다. 파이썬에서 내장 모듈인 heapq로 heap을 ..
[백준/JS] 14425 문자열집합
문제링크 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 문제풀이 단순히 Map() 만 사용해서 풀 수 있는 문제였습니다. const fs = require("fs"); BOJkey = 1; let input = fs .readFileSync(BOJkey ? "./자바스크립트로/14425/input.txt" : "./dev/stdin") .toString() .trim() .split("\n"); let number = input[0].split(" ").map((v) => +v..