본문 바로가기

전체 글

(38)
[Python] 기간이 겹치지 않도록 하면서 최대 보수를 얻는 아르바이트 조합 찾기 DP + 이진탐색 각 아르바이트 끝나는 날짜 기준으로 정렬현재 아르바이트를 포함할지 말지 결정하며 최대 보수 누적과거에 끝난 아르바이트 중, 현재 아르바이트의 시작일과 겹치지 않는 가장 마지막 아르바이트를 이진 탐색으로 찾기 from bisect import bisect_rightdef max_earnings(jobs): # 아르바이트를 끝나는 날짜 기준으로 정렬 jobs.sort(key=lambda x: x[1]) # x[1]은 끝나는 날짜 E # dp[i]는 i번째 아르바이트까지 고려했을 때 얻을 수 있는 최대 보수 n = len(jobs) dp = [0] * n # 첫 번째 아르바이트의 보수로 초기화 dp[0] = jobs[0][2] def fin..
[Python] 객체할당 파이썬에서 a=b처럼 객체를 할당하면 "객체의 참조(Reference)를 공유"가변 객체 (Mutable Object)인 경우, b를 변경하면 a값도 바뀔 수 있음불변 객체 (Immutable Object)에서는 b를 바꾸더라도, a는 영향을 받지 않음1. 가변객체 (Mutable Object)참조가 공유되므로 하나를 변경하면 다른 것도 영향을 받음ex) 리스트, 딕셔너리, 집합(set)a = [1, 2, 3]b = a # a와 b는 같은 리스트 객체를 참조b[0] = 100print(a) # [100, 2, 3]print(b) # [100, 2, 3] 2. 불변객체 (Immutable Object)새 값을 할당하면 참조가 변경되기 때문에 기존 객체에 영향이 없음ex) 정수, 실수, 문자열, 튜플a..
[프로그래머스] 첫 번째로 나오는 음수 (Python3) 문제링크 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 나의 풀이def solution(num_list): for idx, v in enumerate(num_list): if v  다른 사람 풀이def solution(num_list): for i in range(len(num_list)): if num_list[i]아 3항연산자로 쓴줄 알았는데 아니었구나?
[Python] enumerate() 내장 함수 index와 value 동시 접근 가능 arr = [2,5,10]for idx, val in enumerate(arr): print(idx, val)# Output:# 0 2# 1 5# 2 10 arr = [2, 7, 10]for idx, val in enumerate(arr, 4): print(idx, val)# Output:# 4 2# 5 7# 6 10-> 두번째 인자로 값을 전달하면 시작하는 인덱스 값을 변경할 수 있음
[프로그래머스] 순서 바꾸기 (Python3) 문제링크 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(num_list, n): return num_list[n:]+num_list[:n]
[프로그래머스] 배열 두 배 만들기 (Python3) 문제링크 나의 풀이:def solution(numbers): answer = [] for i in numbers: answer.append(i*2) return answer 다른 사람 풀이:def solution(numbers): return [num*2 for num in numbers]이렇게 한줄로 간단하게 만들 수도 있는 스킬
[프로그래머스] 연도별 대장균 크기의 편차 구하기 (MySQL) 문제링크 WITH MAX_SIZE_TABLE AS( SELECT MAX(SIZE_OF_COLONY) AS MAX_SIZE, YEAR(DIFFERENTIATION_DATE) AS YEAR FROM ECOLI_DATA GROUP BY YEAR(DIFFERENTIATION_DATE) ) SELECT YEAR(E.DIFFERENTIATION_DATE) AS YEAR, (M.MAX_SIZE - E.SIZE_OF_COLONY) AS YEAR_DEV, E.IDFROM ECOLI_DATA AS E LEFT JOIN MAX_SIZE_TABLE AS M ON YEAR(E.DIFFERENTIATION_DATE) = M.YEARORDER BY YEAR, YEAR_DEV 풀이 방법with ..
[MySQL] full outer join 지원 안함 MySQL은 FULL OUTER JOIN을 직접적으로 지원하지 않는다. 처음 안 사실 ! FULL OUTER JOIN 처럼 쓰고싶다면, LEFT JOIN 과 RIGHT JOIN을 사용한 것을 UNION 해줘야한다. SELECT *FROM A LEFT JOIN BUNIONSELECT *FROM A RIGHT JOIN B