본문 바로가기

전체 글

(172)
[JS Flow] 데이터 타입 데이터 타입의 종류 Primitive Type(기본타입) : number, string, boolean, null, undefined Reference Type(참조타입) : object 👉 array, function, regexp 두가지 타입을 구분을 하는 이유! 어떤 차이가 있을까? 기본타입으로 변수를 선언, 값을 변경하는 메모리 그림이다. 참조하는 메모리 주소값을 바꾼다. 다음은 참조타입이다. obj이름이 가리키고 있는 값의 주소는 변경되지 않았다. 다음은 참조타입에서 중첩 객체이다. arr의 값이 바뀌면서 배열에 할당되어 있던 메모리들은 Garbage Collectiong을 당한다💥
[알고리즘] 파이썬 시간복잡도 정리 Big-O 표기 1. O(1) 상수시간 입력값 n이 주어졌을 때, 알고리즘이 문제를 해결하는데 오직 한단계만 거침 2. O(log n) 로그시간 입력값 n이 주어졌을 때, 문제를 해결하는데 필요한 단계들이 연산마다 특정 요인에 의해 줄어듬 3. O(n) 직선적 시간 문제를 해결하기 위한 단계의 수와 입력값 n이 1:1 관계를 가짐 4. O(n^2) 2차 시간 문제를 해결하기 위한 단계의 수는 입력값 n의 제곱 5. O(c^n) 지수 시간 문제를 해결하기 위한 단계의 수는 주어진 상수값 c의 n 제곱 시간 복잡도 List deque dictionary 정렬 알고리즘
[python] bisect / 이진 탐색 내장함수 import bisect 두가지 종류로 분류 가능 주어진 리스트 list, 값 x가 있을 때, x가 들어갈 인덱스를 구하는 함수 값 x를 이진탐색으로 넣는 함수 bisect.bisect_left(list, x) : list에서 x가 들어가야할 인덱스 값을 구한다 bisect.bisec_right(list, x) : list에서 x가 들어가야할 인덱스 값을 구하지만, 동일한 값이 있을 경우 동일한 값의 오른쪽 인덱스 값을 구한다 bisect.insort(list, x) : binary search로 x 값을 list에 넣는다 EX 문제 https://www.hackerrank.com/challenges/fraudulent-activity-notifications/problem?h_l=interview&pl..
[알고리즘] 프로그래머스 파일명 정렬 / python https://programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import re def solution(files): file_lst = [re.split('([0-9]+)',i) for i in files] file_lst.sort( key = lambda x : ( x[0].lower(), int(x[1]) ) ) return [''.join(lst) for lst in file_lst] re.split('([0-9]+)', i) #숫자를 기준으로 나눈다 fil_ls..
[알고리즘] 프로그래머스 n진수게임 / python https://programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def trans(n, num): arr = "0123456789ABCDEF" ret = '' if num == 0: return '0' while num > 0: ret = arr[num % n] + ret num = num // n return ret def solution(n, t, m, p): answer = '' string = '' for i in range(t*m): string += trans(..
[알고리즘] 프로그래머스 압축 / python https://programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr KAKAO를 예시로 생각해보자.. 인덱스번호는 요래 생김 규칙성을 따져본다면, 현재글자 + 다음글자가 사전에 없다면 w = c , c = c + 1 현재글자 + 다음글자가 사전에 있다면 w는 변화없음, c = c + 1 c가 마지막 인덱스 번호라면, while문을 빠져나감 w, c의 규칙성을 이용해 출력해야할 색인번호를 append 해준다 def solution(msg): answer = [] dic = {}..
[알고리즘] 프로그래머스 방금그곡 / pyhton https://programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(m, musicinfos): dic = {} #사용되는 음이 아닌 문자로 변환 m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a') for info in musicinfos: #콤마를 기준으로 변수에 저장 start, end, title, music = info.spli..
💻 JAVA 객체와 클래스의 차이점 클래스란? 객체를 만들어 내기 위한 틀 객체란? 클래스의 인스턴스 키워드 public : 접근제한이 없음 protected : 해당 클래스 + 자식 클래스에서 접근 가능 default : 동일한 패키지 내에서만 접근 가능 private : 해당 클래스내에서만 접근 가능 JVM과 JAVA 프로그램 실행 과정 JVM이란 JAVS Virtual Machine(자바 가상 머신)의 약자 자바 프로그램을 자바 API를 기반으로 실행하는 역할 JAVA프로그램 실행과정 프로그램이 실행되면 JVM이 OS로부터 해당 프로그램이 필요로 하는 메모리를 할당 받음 자바 바이트코드로 변환된(.class) 파일을 class로더를 통해 JVM에 로딩함 로딩된 class파일은 excution engine을 통해..
[알고리즘] 프로그래머스 탑 / python https://programmers.co.kr/learn/courses/30/lessons/42588 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(heights): answer = [0] * len(heights) heights = heights[::-1] for i in range(len(heights)): for j in range(i+1, len(heights)): if heights[j] > heights[i]: answer[i] = len(heights)-j break return answer[::-1] 더 간결하게 푼 ..
[알고리즘] 프로그래머스 카펫 / python, 완탐 https://programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(brown, red): answer = [] for col in range(1, red+1): if red % col == 0: row = red // col print(row,col) if (row + 2) * (col + 2) - red == brown: answer.append(row + 2) answer.append(col + 2) break return answer answer..