📌 데이터 타입데이터의 종류를 의미한다. 자바스크립트의 모든 값은 데이터 타입을 갖는다. 데이터 타입의 종류원시 타입 Primitive(Value) Types (immutable)데이터가 담긴 주솟값을 직접 제어할 수 없는 데이터 타입=> Number,String,Boolean,Symbol ,null,undefined, BigInt객체 타입 Object(Reference) Types데이터가 담긴 주솟값을 직접 제어할 수 없는 데이터 타입=> Array, Date, RegExp, Map/WeakMap, Set/WeakSetSymbol 타입변경 불가능한 원시 타입의 값, 고유한 식별자다른 값과 중복되지 않는 유일한 값이다, 따라서 주로 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다. //심벌 값 생성v..
전체 글
백수를 탈출하기 위해 공부중입니다문제풀이과정처음 코드는 이중 반복문을 사용하고 있어서 시간 복잡도가 O(N*M)이 되어서 시간 초과가 뜨게 되었다.그래서 A의 각 원소 a에 대해 B중에서도 a보다 작은 수가 몇 개인지만 찾기로 했다.B를 먼저 정렬하고, bisect_left를 사용하면 a 보다 작은 수의 개수를 찾을 수 있다.import bisectB = [1, 3, 6, 7, 9]a = 6index = bisect.bisect_left(B, a)print(index) 인덱스: 0 1 2 3 4값: [1, 3, 6, 7, 9]일때,bisect.bisect_left(B, 6) 의 값은 6보다 크거나 같은 값이 등장하는 인덱스 2값을 반환한다. bisect 이진 탐색 기능을 제공하는 라이브러리이다. 코드i..
📌 git stash커밋하기 애매할 경우 옆에 잠깐 치워놓는 작업이다.작업 도중 긴급하게 다른 수정을 해야하는데, 커밋을 하면 안되는 상황(현재 작업중인 내용을 커밋하기 애매할 때)일 때 사용한다. 내가 원하는 branch에도 적용할 수 있다. 즉, 현재 변경 사항을 일시적으로 저장하는 기능이다. 현재 작업이 끝나지 않았는데 다른 작업을 해야할 경우 git stash를 활용하여 일시적으로 저장해 놓을 수 있다. 💡 stash 사용하기// 라벨을 지정해도 되고, 안해도 된다. git stashgit stash [save "label"]// 최신 방법 이라고 한다. git stash push -m "라벨명"stash는 스택으로 저장된다. git stash list를 통해 현재 일시적으로 저장된 것을 ..
둘다 '커밋'을 되돌린다는 공통점이 있다. 그렇지만 이 둘은 굉장히 큰 차이가 있다. 📌 Reset & Revert의 개념💡Reset특정 commit으로 되돌린다. 이전 흔적을 남기지 않고 커밋을 되돌린다.💡Revert커밋을 이전으로 되돌리긴 하지만, 커밋을 되돌린다? 라기 보단 새로운 커밋이 생기면서 상태를 되돌린다. 그래서 단점은 Revert는 흔적을 남기고 (자신이 실수 했다는?) 되돌리게 된다. 그래서 차이점이 뭔데? 둘다 이전으로 되돌린다가 공통점이지만, reset은 흔적을 남기지 않고 과거로 돌아가고, revert는 흔적을 남기고 원하는 시점으로 돌아간다. 그렇다면 왜 두개가 있고,,, 언제 뭘 사용해야 될까??Push 여부에 따라 다르다. , 그렇지만 항상 Revert를 사용하는게 더..
📌 Git이 관리하는 세 개의 공간Working Directory사용자의 작업 공간이다. 작업된 파일이나 코드가 저장되는 공간이다. 작업 공간에서 .git 폴더를 제외한 나머지 부분git이 워킹 디렉토리에서 파일을 추척하냐 아니냐에 따라 상태가 두가지로 나뉜다.Untracked 상태저장소 내에 처음 만들어지는 모든 파일은 untracked 상태로 시작한다.워킹디렉토리 안의 해당 상태는 git이 코드 변경 이력을 추적하지 않는다.Tracked 상태git이 코드 변경 이력을 추적하는 파일들이다. git add 명령어를 이용해 tracked 상태로 등록할 수 있다. 위의 사진처럼 tracked 상태가 된다면 stage 공간으로 이동한다.Staging Areagit add 명령어를 통해 tracked 상태로 ..
📌 운영체제운영체제는 컴퓨터 하드웨어와 응용 프로그램 사이의 중개자 역할을 하며, 시스템 자원을 효율적으로 관리하고 사용자에게 편리한 인터페이스를 제공하는 소프트웨어이다. 운영체제는 인터페이스, 시스템콜, 커널, 드라이버 4가지로 이루어져있다. 그중에서도 크게 인터페이스와 커널로 구분할 수 있다. EX )Window, MAC OS, Unix, Linux, Android, iOS커널 프로세스 관리, 메모리 관리, 저장 장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것이다.그래서 운영체제의 성능은 커널이 좌우하게 된다.인터페이스사용자와 응용프로그램에 인접하여 커널에 명령을 전달하고 실행 결과를 사용자와 응용프로그램에 돌려주는 역할을 한다.📌 운영체제의 역할운영체제는 효율성, 안정성, 확장성, 편리..
문제 코드# DFS와 BFSimport sysfrom collections import dequeinput = sys.stdin.readline# N:노드의 개수# M:간선의 개수# START:시작 노드N, M, START = map(int, input().split())visited = [False for _ in range(N+1)] # 0은 안쓰는 걸로 생각하고 (N+1)개 제작graph = [[] for _ in range(N+1)]for _ in range(M): # 간선의 개수만큼 반복하기 A, B = map(int, input().split()) graph[A].append(B) graph[B].append(A)for i in range(1, N+1): graph[i..
ORDER BY 부분에서 실수를 했다. 만들어진 TOTAL_DISTANCE 칼럼으로 정렬을 하게 된다면 현재 문자열이기 때문에문자열 기준으로 정렬하게 된다. 그렇기 때문에 새로 SUM을 통해 만들고 정렬을 해주어야 한다.❌ 틀린 풀이SELECT ROUTE,CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),"km") AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2),"km") AS AVERAGE_DISTANCEFROM SUBWAY_DISTANCEGROUP BY ROUTEORDER BY TOTAL_DISTANCE DESC✅ 정답 풀이코드SELECT ROUTE,CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),"km") AS TOTA..
문제 풀이과정A->BA에서 B로 정방형으로 갈 경우, 1. 2를 곱하거나 2. 마지막에 1을 붙이는 방법 두가지이다. B->AB에서 A로 반대로 갈 경우, 1. 짝수인 경우 나누기 2, 2. 마지막에 1이 있을 경우 없애주기 이다. 그렇게 때문에 역방향이 경우의 수가 더 적기 때문에 역방향으로 생각하는 것이 더 좋다. ✅ 정답 풀이import sysinput = sys.stdin.readlineA, B = map(int, input().split())count = 1while A https://www.acmicpc.net/problem/16953
입출력입력 : input() 보다 sys 라이브러리에 있는 sys.stdin.readline()를 사용하자.A, B = map(int, input().split())input()은 위와 같이 사용될 수 있다.input()은 한 줄을 문자열로 입력받는 기본 함수줄 끝의 \n은 자동으로 제거해 준다. 단점: 속도가 느려! 입력이 빨라야 되는 부분이 있을 때 불리하다. 코딩테스트와 같은 특수한 상황일 경우 sys라이브러리를 쓰는 것이 좋다. import sysinput = sys.stdin.readlineimport sys를 통해 라이브러리를 불러오고 입력을 사용하면 된다. 속도가 빠르긴 하나 \n 줄바꿈 문자가 그대로 남아 있다.//한줄에 여러 숫자를 입력 받았을 경우 import sysinput = sys..