파이썬
티스토리(Tistory) API - 앱 등록부터 브라우저에서 글 목록 받기까지
티스토리(Tistory) API - 앱 등록부터 브라우저에서 글 목록 받기까지
2022.04.12들어가며 티스토리에 글을 어떻게 작성할 수 있을까요? 에디터에 들어가서 글을 작성하는게 일반적일 것입니다. 하지만 티스토리에서 제공하는 API를 이용하면 에디터를 통하지 않고도 글을 작성할 수 있습니다. 앞으로의 글을 통해서 파이썬(Python)에서 티스토리(Tistory) API를 이용하여 티스토리에 글을 작성하는 방법에 대해 알아보도록하겠습니다. 이번 글에서는 파이썬은 전혀 사용하지 않고 브라우저와 티스토리 API만을 이용하여 내 블로그의 글 목록을 가져오는 작업을 해보겠습니다. 티스토리 API 사용을 위한 앱 등록 우선 처음 단계는 티스토리 API 사용을 위한 나의 앱을 등록하는 과정입니다. 티스토리 API는 앱(App)이라는 단위로 관리되며, 앱에는 해당 앱이 사용되는 서비스의 정보들이 포함되게 ..
[프로그래머스] 🔢 큰 수 만들기 / python
[프로그래머스] 🔢 큰 수 만들기 / python
2019.05.08🔢 큰 수 만들기 😃 나의 코드 def solution(number, k): length = len(number) if length > k: m = 0 for cnt in range(k): for idx in range(m, length-1): if number[idx] 0: m = idx-1 break else: number = number[:length-k+cnt] break return "".join([str(i) for i in number]) else: return "0" 탐욕법Greedy 알고리즘에 해당하는 문제입니다. 하지만, 탐욕법을 적용하고도, 특정 ..
[프로그래머스] ⚾ 숫자 야구 / python
[프로그래머스] ⚾ 숫자 야구 / python
2019.02.15⚾ 숫자 야구 문제 풀어보기 😃 나의 코드 from itertools import permutations def check_score(question, candidate, s, b): strike = 0 for i in range(len(question)): if question[i] == candidate[i]: strike += 1 if s != strike: return False ball = len(set(question) & set(candidate))-strike if b != ball: return False return True def solution(baseball): lst = list(permutations([1,2,3,4,5,6,7,8,9], 3)) for i in baseball:..
[프로그래머스] 👩💼 뉴스 클러스터링 - [1차] 2018 카카오 블라인드 채용 / Python / KAKAO BLIND RECRUITMENT
[프로그래머스] 👩💼 뉴스 클러스터링 - [1차] 2018 카카오 블라인드 채용 / Python / KAKAO BLIND RECRUITMENT
2019.02.14KAKAO BLIND RECRUITMENT 👩💼 뉴스 클러스터링 문제 풀어보기 😃 나의 코드 import re from collections import Counter as mset p = re.compile("[a-z]{2}") def multiSet(str): lst = [] for idx in range(len(str)-1): if p.match(str[idx:idx+2]): lst.append(str[idx:idx+2]) return lst def solution(str1, str2): lst1 = multiSet(str1.lower()) lst2 = multiSet(str2.lower()) len_lst1 = len(lst1) len_lst2 = len(lst2) if len_lst1 == 0..
🐥 2018 카카오 블라인드 채용 알고리즘 테스트 1차 Python 풀이 모음 / KAKAO BLIND RECRUITMENT
🐥 2018 카카오 블라인드 채용 알고리즘 테스트 1차 Python 풀이 모음 / KAKAO BLIND RECRUITMENT
2019.02.092018 카카오 블라인드 채용 테스트 1차 Python 풀이 / KAKAO BLIND RECRUITMENT 🙋♂️ 목적 Python의 경우 C++에 비해 참고할만한 풀이가 대체로 적다고 생각했습니다. 문제를 푸시다가 공식 문제 해설을 봐도 정 모르겠는 경우 힌트 정도로 이용하시면 되겠습니다. 문제 풀이 → 공식 문제 해설 참조 → 다른 코드 참조 순서로 보시는 걸 추천드립니다. ✨ 카카오에서 제공하는 "공식 문제 해설"과 함께 읽으면 좋습니다. 1. 🗺 비밀 지도 / 81.78% 문제 풀기 / 풀이 보기 2. 🕹 다트 게임 / 73.47% 문제 풀기 / 풀이 보기 3. 👨💻 캐시 / 45.26% 문제 풀기 / 풀이 보기 4. 🚍 셔틀버스 / 26.79% 문제 풀기 / 풀이 보기 5. 👩💼 뉴스 클러..
[프로그래머스] 124 나라의 숫자 / Python
[프로그래머스] 124 나라의 숫자 / Python
2019.02.08[프로그래머스] 124 나라의 숫자 / Python 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니 다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 😃 나의 풀이 def solution..
[프로그래머스] 콜라츠 추측 / Python
[프로그래머스] 콜라츠 추측 / Python
2019.02.08[프로그래머스] 콜라츠 추측 / Python 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력된 수, num은 1 이상..
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
2019.02.08이진 트리(Binary Tree)는 최대 두 개의 자식 노드를 가진느 트리 형태의 자료구조로, 단순히 값을 저장하는 용도보다는 효율적인 탐색 혹은 정렬을 위하여 사용됩니다. 이진 탐색 트리(Binary Search Tree)를 사용하여 주어진 값 혹은 이보다 작거나 큰 값들을 평균 O(logn)의 시간 복잡도로 찾을 수 있으며, 이진 트리의 한 종류인 힙(heap)을 사용한 힙 정렬(heap)은 O(nlogn)의 시간 복잡도를 가집니다. 이진 탐색 트리 구현 이진 탐색 트리(Binary Search Tree)는 이진 트리의 특수한 케이스 중 하나입니다. 이진 트리 중 모든 노드에 대해 왼쪽 자식 노드들의 값이 현재 노드 값보다 작거나 같으며, 오른쪽 자식 노드들의 값이 현재 노드의 값보다 크다는 조건을 ..
[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬)
[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬)
2019.02.051. Key 값을 정렬 Python의 Dictionary 자료형은 { key: value } 쌍으로 값이 들어가 있다. Dictionary는 Default(기본) 정렬이 Key값을 기준으로 오름차순으로 Key 값을 정렬하는 것이다. fruits \= { 'apple': 2, 'banana' : 1, 'melon' : 0, 'pear' : 2, 'plum' : 1} sorted(fruits) # \['apple', 'banana', 'melon', 'pear', 'plum'\] sorted(fruits.keys()) # \['apple', 'b..
[프로그래머스] 🙋♂️ 오픈 채팅방 - 2019 카카오 블라인드 채용 / Python / KAKAO BLIND RECRUITMENT
[프로그래머스] 🙋♂️ 오픈 채팅방 - 2019 카카오 블라인드 채용 / Python / KAKAO BLIND RECRUITMENT
2019.02.05🙋♂️ 오픈 채팅방 - 2019 카카오 블라인드 채용 / Python / KAKAO BLIND RECRUITMENT 문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. [닉네임]님이 들어왔습니다. 채팅방에서 누군가 나가면 다음 메시지가 출력된다. [닉네임]님이 나갔습니다. 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. 채팅방에서 닉네임을 변경..
[프로그래머스] 🤳 방금 그 곡 - [3차] 2018 카카오 블라인드 채용 / Python
[프로그래머스] 🤳 방금 그 곡 - [3차] 2018 카카오 블라인드 채용 / Python
2019.02.04🤳 방금 그 곡 - [3차] 2018 카카오 블라인드 채용 / Python라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 ‘방금그곡’ 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 때도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일 수도 있다. 반대로, 한 음악을 중간에 끊을 경우 원본 음악에는 네오가 기억한 멜로디가 들어있다 해도 그 곡이 네오가 들은 곡이 아닐 수도 있다. 그렇기 때문에 네오는 기..
[Python] 정규 표현식(Regular Expression)
[Python] 정규 표현식(Regular Expression)
2019.02.02정규 표현식(Regular Expression)정규 표현식은 특정한 규칙을 가진 문자열의 패턴을 표현하는 데 사용하는 표현식(Expression)으로 텍스트에서 특정 문자열을 검색하거나 치환할 때 흔히 사용된다. 예를 들어, 웹페이지에서 전화번호나 이메일 주소를 발췌한다거나 로그파일에서 특정 에러메시지가 들어간 라인들을 찾을 때 정규 표현식을 사용하면 쉽게 구현할 수 있다. 정규 표현식은 간단히 정규식, Regex 등으로 불리우곤 한다.파이썬에서의 정규 표현식 사용정규식에서 가장 단순한 것은 특정 문자열을 직접 리터럴로 사용하여 해당 문자열을 검색하는 것이다. 예를 들어, 로그 파일에 "에러 1033" 이라는 문자열을 검색하여 이 문자열이 있으면 이를 출력하고 없으면 None을 리턴하는 경우이다. 이러한..