[LeetCode] 347. Top K Frequent Elements
·
BE/algorithm
문제 링크 https://leetcode.com/problems/top-k-frequent-elements/description/ Intuition 주어진 array에서 가장 중복이 많은 k개의 element를 결과값으로 반환 그렇다면 정렬하고, 중복을 찾기 위해선 hash를 써야겠군 Approach hash를 쓰기 위해서는 python의 dictionary를 사용 가장 많이 중복되는 element 별로 저장된 dictionary를 그 후에 정렬! 정렬된 중복_숫자_맵 에서 k개의 key값을 반환 dict에서 get()함수는 parameter가 2개! 두번째 param은 optional로 조회하는 key 값이 없는 경우에 반환할 값을 설정 numMap[num] = numMap.get(num,0) → nu..
[LeetCode] 1. Two Sum
·
BE/algorithm
문제 링크 https://leetcode.com/problems/two-sum/description/ Intuition 주어진 array의 element 중에 target 값으로 합의 수가 맞는 조합을 찾아야 하면..모든 element를 합해서 확인해 보자 first + second index element의 합을 확인하고 넘어가야 한다 Approach 당장 생각나는건...outer loop에서는 index 0 부터 좌항에 들어가는 인자를 iterate하고 inner loop에서는 우항에 들어가는 인자를 iterate 해서 둘의 합을 확인하는 방법 Complexity Time complexity: O(N^2) Space complexity: Code class Solution: def twoSum(sel..
[LeetCode] 242. Valid Anagram
·
BE/algorithm
Intuition Anagram은 주어진 문자열의 character를 재배치 했을 때에도 다 같은 구성의 character를 가지는 단어 혹은 문구를 뜻한다고 한다. 그러니 길이가 같아야지? 같은 구성의 character를 가져야하겠네? Approach 같은 구성의 문자를 가진것을 어떻게 비교하면 좋지? 정렬한 후에 같은지 확인하면 효율적이지 않을까 길이가 다른 경우는 먼저 False를 반환 하는게 좋을 것 같다 Complexity Time complexity: O(nlogn) 평균 / W.C (= worst case) 이유는 python의 sorted() 함수는 Timesort라는 정렬 알고리즘을 사용 Timesort 알고리즘이란? insertion sort 와 merge sort의 장점만을 합쳐서 만..
[뉴비개발자 시리즈] 신입 개발자의 일탈 - 봇 만들기
·
devlog/etc
2017-09-29에 작성한 글을 옮겨왔습니다. 동기들 채팅방에서 썼던 봇에 관한 글입니다. 방정맞은 말투는 이해 부탁드립니다.. 지금 보니 신입이었을땐 딴짓도 개발로 했었네요 🙄 꿀잼 봇 만들기 도롱뇽농땡이봇이 일을 하고있다. 추석연휴를 맞아 봇을 하나 만들었습니다. 네 1분안에 완성 가능합니다. 예. 단축안해서 업무가 손에 안잡혀서 글 올려봅니다. 코드랄 것도 없지만 파이썬으로 ★우리회사★ 로 메세지를 날려보겠습니다. import requests, time, datetime, sys def let_the_world_know(): hook_url=[사내 메신저 채팅방 web hook url] image_url=[이미지 업로드된 cdn url] lunch_url=[세상에서 제일 중요한 그날의 점심 메뉴 ..
[Python] scp, paramiko 패키지 예제
·
devlog/TIL
파일 업로드에 사용할 python 패키지를 찾다가 scp, paramiko를 사용하여 아래와 같이 개발함! from paramiko import SSHClient from scp import SCPClient def upload_files(target, fileList): scp = connect_to_server() files = [] for file in fileList: filename = file.rstrip() file_full_path = "졀대/상대경로"+ filename scp.put(files=filename, remote_path=file_full_path, recursive=True) # fileList to # scp.put(files=files, remote_path=target_..
[ubuntu] python을 찾을 수 없다고 할때
·
DevOps/devops
Command 'python' not found, but can be installed with: 라고 뜨는 경우가 있다. 하지만 python은 설치 되어있는데? 🤔고민하지 말고 아래와 같이 입력해주자. # 터미널 (bashrc or bash_aliases) vim ~/.bashrc # bashrc (python3나 원하는 python 버전) alias python=python3 # 터미널 source ~/.bashrc 다시 python을 입력하면, 원하는 버전에 맞게 잘 실행되는것을 확인할 수 있다.
[TIL] pip install 시 "Consider using the `--user` option or check the permissions" 에러
·
DevOps/etc
Consider using the `--user` option or check the permissions. pip로 패키지 설치시 이런 에러가 발생함. 권한이 없는 디렉토리에서 설치하려고 하기 때문에 발생하는 에러. --user 옵션을 넣어서 설치하면 된다. 뭐든 모를땐 man page 나 -h를 사용해서 설명을 읽어본다. --user 옵션은 권한없는 디렉토리 (내경우의 C드라이브)가 아닌 사용자의 디렉토리 (home directory)에 설치해준다. --user Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows. (See the Python do..