목록분류 전체보기 (116)
기술 블로그
클로저는 함수와 그 함수가 선언된 렉시컬 환경의 조합- mdn function outer(){ const name = 'kyle'; console.log(name) return function inner(){ const greeting = 'hello!' console.log(greeting,name) } } const getKyle = outer() //kyle getKyle() //hello!kyle inner함수는 자신이 생성될 때의 환경을 "기억"한다. 이 환경은 클로저가 선언된 시점의 변수뿐만 아니라, 그 변수들이 존재했던 외부 함수의 스코프를 포함한다. 여기서 스코프는 변수가 가지는 유효 범위를 의미한다. 렉시컬 환경(Lexical Environment)은 코드가 작성된 구조와 위치에 기반하여..
스택 문제 from collections import deque def solution(s): answer = True stack = [] # (로 열렸으면 )로 닫혀야됨 for i in s: if i=='(': stack.append('(') if i==')': if len(stack) == 0: return False popE = stack.pop() if popE != '(': return False if len(stack) != 0: return False # [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. print('Hello Python') return True
잘못된 코드 def solution(name): #위 알파벳 다음 , 아래 알파벳 이전 , #name: 만들어야되는 것 #return: 최소 횟수 #1.해당 문자에서 A가 아닌 변경해야하는것의 위치 #2.그 위치에 따른 최단 커서 이동 #3.각 알팟에서의 최단 커서이동 #jklmnopqrstuvwxyz count = 0 abcstr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 26개 25:1 abc = list(abcstr) lenName = len(name) nameArr = list(name) r = 0 l = 0 #a가 아닌것이 앞에서 가까운가 뒤에서 가까운가 # 방향 처리 for i in range(1,lenName): if name[i]!..
Java의 기본적인 부분부터 고급 기능에 대해 이야기해보려 한다. 먼저, Java에서 EOF(End of File)는 입력의 끝을 나타내며, 이를 사용해 무한 루프에서 탈출할 수 있다. Scanner의 hasNext() 또는 hasNextLine() 메서드를 사용하여 입력 스트림에 다음 토큰 또는 라인이 있는지 확인하고, 없다면 루프를 탈출할 수 있다. Scanner scanner = new Scanner(System.in); while (scanner.hasNextLine()) { String input = scanner.nextLine(); System.out.println(input); } Java에서 예외 처리는 프로그램이 예외 발생 시 안정적으로 동작하도록 돕는 메커니즘이다. throw 키워드를..
객체지향 프로그래밍: 인스턴스와 클래스, 동적 바인딩 이해하기 인스턴스와 객체의 차이 인스턴스와 객체의 차이를 이해하려면 먼저 클래스의 개념을 알아야 한다. 클래스는 객체를 생성하기 위한 템플릿이다. 객체는 클래스에서 정의한 것을 바탕으로 메모리에 할당된 상태를 말하며, 인스턴스는 특정 클래스로부터 생성된 객체를 의미한다. 클래스를 설계도에 비유한다면, 객체는 설계도로부터 만들어진 실제 제품이고, 인스턴스는 그 제품이 어떤 설계도로부터 만들어졌는지를 명시할 때 사용하는 용어다. 인스턴스 변수와 클래스 변수 인스턴스 변수는 클래스로부터 생성된 각 객체에 할당되는 변수이다. 이 변수는 객체마다 별도로 존재하며, 객체의 상태를 나타낸다. 클래스 변수는 클래스에 속한 변수로, 해당 클래스의 모든 객체가 공유한다..
def solution(n, lost, reserve): #인접한 학생'한명'에게 대여줄수있음 #여벌은 단 하나 # 제한사항을 잘 고려할것 여벌을 가져온 학생이 도난당했을 수도 있음 mans = [1]*(n+2) # 20201111 for j in reserve: mans[j]+=1 for i in lost: mans[i]-=1 for m in range(1,n+1): if mans[m] == 2: if mans[m-1]==0: mans[m-1] += 1 continue if mans[m+1]==0: mans[m+1] += 1 print(mans) answer = 0 for k in range(1,n+1): if mans[k] >= 1: answer += 1 return answer
https://www.frontendinterviewhandbook.com/kr/javascript-questions - z-index의 적용 범위는 어디까지 인가요? - 부모요소 내 입니다. 이는 쌓임 맥락 때문에 일어납니다. - 시멘틱 태그의 요소와 각각의 의미에 대해 설명하세요. - header 페이지 상단부분 문서나 색션의 머릿글 - aside 옆에 위치하는 컨텐츠 - article 독립적인 글 - section 문서의 부분을 의미하는 태그 - footer 문서 또는 섹션의 바닥글, 일반적으로 연락처 정보나 사이트 맵 제공 - nav 메뉴 탭 탐색경로 - 이벤트 위임이 무엇인가요? - 각 하위요소에게 이벤트 리스너를 달지 않고 상위 요소에게 담으로서 - 이벤트 버블링을 이용해 하위요소에서 이벤트가..
자바스크립트에서 객체의 최상단 레벨만 값으로서 복사되는 것을 얕은 복사라고 하고 모든 레벨에서 값으로서 복사되는 것을 깊은 복사라고 한다. 깊은 복사를 위한 방법으로는 다음과 같은 방법이 있다. JSON.stringyfy JSON.stringify()와 JSON.parse()를 이용한 깊은 복사(deep copy) 방법은 JavaScript 객체를 복사할 때 사용할 수 있는 간단한 방법 중 하나이다. 이 방법은 객체의 모든 내용을 문자열로 변환한 다음, 그 문자열을 다시 객체로 파싱하여 복사본을 생성하는 방법이다. 단점 경우에 따라 다를 수 있으나 크기가 클 경우 성능 문제가 있다. 함수와 메서드는 문자열로 변환되지 않기 때문에 복사된 문자열에는 포함되어있지않다. 객체가 순환참조를 가지고 있다면 에러가 ..
https://developer.mozilla.org/ko/docs/Web/HTTP/Status 작성중
https://developer.mozilla.org/ko/docs/Web/CSS/CSS_positioned_layout/Understanding_z-index/Stacking_context 쌓임 맥락 - CSS: Cascading Style Sheets | MDN 쌓임 맥락(stacking context)은 가상의 Z축을 사용한 HTML 요소의 3차원 개념화입니다. Z축은 사용자 기준이며, 사용자는 뷰포트 혹은 웹페이지를 바라보고 있을 것으로 가정합니다. 각각의 HTML 요소는 developer.mozilla.org 만약 아래와 같이 div 요소 3개가 있다고 하자 각각의 z-index는 검은색 2 빨간색 1 빨간색의 자식요소인 파란색은 3이다. 코드는 아래와 같다 . .black { backgroun..