전체 글
-
KIND에서 상장 법인 목록 갈무리(크롤링)하는 법Python/파이썬과 주식, 코인 2019. 11. 3. 11:58
* KIND의 정책의 변화에 따라 작동되지 않을 수도 있습니다. * 실제 투자에 사용하지 마십시오. 한국거래소(KRX)의 기업공시채널인 KIND에 가보면 '상장법인목록'을 조회할 수 있습니다. http://kind.krx.co.kr/corpgeneral/corpList.do?method=loadInitPage 다음 화면을 볼 수 있죠. 이 화면에서 바로 엑셀 파일을 받아서 사용할 수도 있습니다만... 엑셀파일을 하드에 저장하지 않고, 바로 파이썬에서 처리하도록 해봅시다. 크롬에서 F12를 눌러서 Network 탭을 선택합니다. 이 상태에서 EXCEL 버튼을 누르면, 네트워크 탭에서 corpList.do라는 항목을 볼 수 있습니다. corpList.do를 클릭하면 리퀘스트 URL과 리퀘스트 시 전송된 Fo..
-
네이버 금융에서 ETF 목록 갈무리(크롤링)하는 법Python/파이썬과 주식, 코인 2019. 11. 2. 22:06
1990년대 PC 통신이 유행하던 시절, PC 통신 유저들은 순한글 용어를 많이 썼습니다. 당시 단말기 화면에 출력되는 TEXT들을 TEXT 파일로 저장하는 걸 갈무리(캡쳐)라고 했었는데요. 크롤링 대신 사용해도 괜찮을 것 같지 않나요? * 네이버 정책의 변화에 따라 작동되지 않을 수도 있습니다. * 실제 투자에 사용하지 마십시오. 네이버 금융 > 국내증시 > ETF 페이지에 ETF 전체 목록이 있습니다. https://finance.naver.com/sise/etf.nhn 1. 이것을 셀레니움을 이용해 크롤링하는 방법도 있습니다만..... 2. 조금 더 깔끔한 방법이 있습니다. 크롬에서 F12로 소스를 열어봅니다. AJAX를 이용해 ETF 리스트 테이블을 업데이트 하네요. ^^ 친절하게 주소와 매개변수..
-
34. 예산코딩 테스트/Level 1 2019. 11. 1. 23:33
https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 �� programmers.co.kr https://comdoc.tistory.com/entry/37-%EC%98%88%EC%82%B0-%EB%AC%B8%EC%A0%9C 파이썬 def solution(d, budget): d.sort() i = 0 for each in d: budget -= each if budget < 0: break i += 1 return i 자바스크립트 function s..
-
33. 체육복코딩 테스트/Level 1 2019. 10. 31. 23:28
https://programmers.co.kr/learn/courses/30/lessons/42862 파이썬 주어진 조건에 맞춰 평범하게 코딩해 보았습니다. 최대 O(4n). def solution(n, lost, reserve): clothes = [1] * n for each in lost: clothes[each - 1] -= 1 for each in reserve: clothes[each - 1] += 1 for i in range(n): if clothes[i] == 0: if i - 1 >= 0 and clothes[i - 1] == 2: clothes[i - 1] -= 1 clothes[i] += 1 elif i + 1 < n and clothes[i + 1] == 2: clothes[i +..
-
32. 이상한 문자 만들기코딩 테스트/Level 1 2019. 10. 30. 23:06
https://programmers.co.kr/learn/courses/30/lessons/12930 파이썬 평범하게.. def solution(s): answer = [] for each in s.split(' '): temp = '' for index, letter in enumerate(each): if index % 2: temp += letter.lower() else: temp += letter.upper() answer.append(temp) return ' '.join(answer) 코드 뽐내기 --; def solution(s): return ' '.join([''.join([letter.lower() if index % 2 else letter.upper() for index, lett..
-
31. 문자열 내 마음대로 정렬하기코딩 테스트/Level 1 2019. 10. 29. 23:44
https://programmers.co.kr/learn/courses/30/lessons/12915 파이썬 def solution(strings, n): return sorted(sorted(strings), key = lambda x : x[n]) 자바스크립트 function solution(strings, n) { return strings.sort((a,b)=>a[n]==b[n]?a.localeCompare(b):a[n].localeCompare(b[n])) } 자바 import java.util.*; class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings, (s1, s2) -> (s1.char..
-
30. 정수 내림차순으로 배치하기코딩 테스트/Level 1 2019. 10. 28. 14:55
https://programmers.co.kr/learn/courses/30/lessons/12933 파이썬 def solution(n): return int(''.join(sorted(str(n), reverse=True))) 자바스크립트 function solution(n) { return Number(String(n).split('').sort((a, b) => a 0 { temp = append(temp, int(n%10)) n /= 10 } sort.Sort(sort.Reverse(sort.IntSlice(temp))) for _, v := range temp{ result = result * 10 + int64(v) } return } C# using System; using System.Li..
-
29. 자연수 뒤집어 배열로 만들기코딩 테스트/Level 1 2019. 10. 27. 23:00
https://programmers.co.kr/learn/courses/30/lessons/12932 파이썬 def solution(n): return [int(i) for i in str(n)[::-1]] def solution(n): return list(map(int, str(n)[::-1])) 자바스크립트 function solution(n) { return String(n).split('').map(Number).reverse() } 자바 수학적으로 풀어보았습니다. class Solution { public int[] solution(long n) { var numLength = String.valueOf(n).length(); var answer = new int[numLength]; for ..