베스트 앨범_ 해쉬 이건 해쉬라서 그냥 level 3여도 풀려고 했는데 .. 보기보다 확실히 어렵다 level 3 ... 해답을 필사 해보겠다. 모르겠다.... level 3 일단 보류 programmers.co.kr/learn/courses/30/lessons/42579 알고리즘 문제풀이 2021.03.23
타겟넘버 DFS 사실 이 문제는 5분 정도 고민하고 풀이를 바로 봤다 이유는 DFS로 풀 만한 단서가 전혀 보이지 않았기 때문.. 근데 풀이를 보니 너무 쉬워보이지만 저것을 착안해 내는게 실력... itertools product는 예를들어 arr1=[1,2] arr2=[3,4]면 product(arr1,arr2) -> 1,2 1,3 2,3 2,4 처럼 모든 가능한 조합의 수를 다 찾아주는 함수 programmers.co.kr/learn/courses/30/lessons/43165 알고리즘 문제풀이 2021.03.18
부분 배낭 문제 _ greedy 대표적인 탐욕법 문제 사실 하나하나 뜯어보면 엄청 복잡하진 않다 식을 처음 세울 때 그림을 보고 리스트안에 튜플을 잘 넣는 것이 중요 또한 fraction=capacity/data[0], total_value+=data[1]*fraction 과 같은 쪼갰을 때 어떤식으로 들어갈지에 대해 코드를 짜는 것이 중요 알고리즘 문제풀이 2021.03.18
전화번호 목록 - 해시 테이블 코드 최신화 -> 다시 풀어봤는데 이렇게 푸는 것이 가장 직관적 phonebook[1:] 는 처음 구조대를 빼고 생각하기 위해 선언 startwith -> 왼쪽에서 부터 찾고 같은게 있으면 True 범위를 지정해 줄 수도 있음 def solution(phone_book): answer = True hash_map = {} for phone_number in phone_book: hash_map[phone_number] = 1 for phone_number in phone_book: temp = "" for number in phone_number: temp += number if temp in hash_map and temp != phone_number: answer = False return answe.. 알고리즘 문제풀이 2021.03.17
위장 문제 보통 이문제는 from functools import reduce 로 많이 푸는데 따로 저 모듈을 떠올리기가 쉽지 않아서 일단 정석대로 풀어보고 .... 안되면 찾아본다음에 모듈을 쓰는게 맞다. 그래서 모듈도 (해답을 봤지만) 한번 코드 필사를 했다 *참고 from functools import reduce -> 왼쪽에서 오른쪽으로 누적으로 더 해주는것 ex) sum(sum(sum(sum(1, 2), 3), 4), 5) programmers.co.kr/learn/courses/30/lessons/42578 알고리즘 문제풀이 2021.03.16
게임 Industry - 이탈 여부 예측 알고리즘 Target : 단순히 이탈할지 말지 예측하는 것이 아니라 언제 이탈할지 까지 예측하는 것 * Activity Data 1. 파생 변수 생성 1-1. 파생변수 생성 원리 1-2 시계열 데이터 정제 2. 이사람이 왜 이탈할까 에 대한 이유 2-1 설문조사 바탕 파생변수 생성 2-2 Play_time과 payment_amount 변수 보정 2-3 Activity data 로부터 각각 다른 의미를 지닌 6개의 파생 데이터를 생성 2-4 길드 데이터 전처리 2-5 파티 데이터 전처리 2-6 거래 데이터 종류 Industry 분석 2021.03.11
Pyqt 기초 문법 PYQT5 란? uic.loadUiType() 본 Qt designer를 이용해서 원하는 GUI를 구성하고 이 UI파일을 파이썬 코드를 이용하여 로드 qpix_map=QPixmap() 화면에 이미지를 표시하는 인스턴스 -> 이미지 시각화 QFileDialog.getExistingDirectory Directory를 설정 하고 원하는 폴더 지정하기 lineEdit.setText 한줄짜리 글자를 입력받을 수 있는 입력 위젯 self.move move() 메서드는 이 위젯을 스크린의 x=300px, y=300px의 위치로 이동 setWindowTitle() 타이틀바에 나타나는 실행 프로그램의 제목을 설정 if name == 'main':한 줄의 코드를 통해 프로그램이 직접 실행되는지 혹은 모듈을 통해 실행되는.. DevOps study 2021.03.11
구명보트 생각보다 어렵지는 않은 문제 탐욕법 처럼 큰수부터 정렬하고 문제를 해석해나가면 조건문을 어렵지 않게 세울 수 있다. 특히 2번째 Q방법을 이해하고 시작하면 좀 더 쉽다 #https://programmers.co.kr/learn/courses/30/lessons/42885 알고리즘 문제풀이 2021.03.10
H-Index 인덱스를 이용하여 citations[i]>=len(citations)-i 를 생각해내는 것이 포인트 ->H번이상 인용된 논문이 H편이므로 이런식으로 코드를 짜게 됨 H번이상 H편 이란 것이 결국 index를 하나씩세서 즉 0 1 2 3 4가 h편이되는 것이고 H번이상이 citation[i]를 말하는 것.. 그리고 이 비교를 정확하게 하기위해 처음에 오름차순으로 sorting하는 것 결국 return은 3 2 1 0 0 순으로 나오게 됨( 착안이 쉽지 않음..) programmers.co.kr/learn/courses/30/lessons/42747 알고리즘 문제풀이 2021.03.09
더 맵게 처음에는 heapq 을 임포트 하지 않고 풀었는데 막혔다.. 결국 힙을 임포트했고 어느정도 근사치에 다가가서 풀림.. heappop -> 넣었던 것 부터 빼기 heappush -> 원소 추가하기 어떤 문제인지 정확히 파악하는게 중요 + 최대 최소를 그냥 리스트로 풀려고 들면 잘 안됨 -> 힙으로 풀어야 됨 (효율적으로 풀기위해) programmers.co.kr/learn/courses/30/lessons/42626 알고리즘 문제풀이 2021.03.05