728x90
반응형

분류 전체보기 188

웹 크롤링 - 네이버 증권정보 빼오기

웹 크롤링 = URL을 반복 탐색해 링크 가져오기 웹 스크래핑 특정 웹페이지에서 데이터 추출 1. 필수 - 패키지 설치 pip install beautifulsoup4 lxml requests pip install requests pip install pandas pip install pyOpenSSL 2. 국제 규정을 어기지 않기위해 robots.txt 이용하기 예를들어 네이버 http://www.naver.com/robots.txt 3. 기본 코드의 프레임 = 데이터 추출/ 데이터 담기 requests 와 beautifulsoup4 라이브러리 모듈은 html 문서를 가져와 lxml로 파싱해 soup 객체롤 만듬 4. 객체를 가져와서 만들고 싶었는데... 안만들어지네? - 요소를 정확하게 가져오지 못하..

Language/Python 2024.04.09

journalctl 명령어 사용

journalctl 이란? - systemd의 서비스 로그를 확인할 수 있다. - systemd-journald.service에 의해서 systemd의 정보들을 분석한다. 옵션 -a : 표시할 수 없는 문자가 있거나 매우 긴 경우에도 모든 Log 내용을 출력 -b : 마지막 부팅 후의 Log만 출력 -r : 최신항목이 먼저 표시되도록 역순으로 출력 -c : 커서가 지정한 저널의 위치부터 Log 표시를 시작 -f : 가장 최근 Log만 표시하고 새롭게 추가되는 Log는 계속 출력 -k : 커널 메시지만 출력 (dmesg랑 같음) -q : 일반 사용자로 실행될 때 접근할 수 없는 시스템 저널에 관한 경고메시지를 표시하지 않음 -u : unit으로 systemctl list-units에서 출력되는 첫번째 항목..

OS/Linux 2024.03.13

[programmers]python 131701 연속 부분 수열 합의 개수

# 연속 부분 수열 합의 개수 # 원형 수열로 만들수 있는 합의 개수 # set 함수로 배열속 element 중복제거 def solution(elements): sum_set = set() length = len(elements) # 5 # 1~5 0~4 까지 반복 for i in range(1, length+1) : for j in range(length) : if j + i > length : sum_set.add(sum(elements[j:]) + sum(elements[:j+i-length])) else : sum_set.add(sum(elements[j:j+i])) return len(sum_set) print(solution([7,9,1,1,4])) # 18

Algorithm/Python 2024.03.06

[programmers]python 42842 카펫

# 카펫 # 전체 카펫의 크기 구하기 # 갈색은 겉 노랑은 안 #yellow = x * y #brown = 2*(x+y) + 4 #(brown - 4)//2 = x + y # def solution(brown, yellow): # answer = [] # total=brown+yellow # for i in range(1,total): # # print(i) # if total % i == 0 : # answer.append(i) # answer.reverse() # # print(answer) # # print(len(answer)//2) # for i in range(len(answer)//2+1): # a=answer.pop() # print(a) # if a*a==total: # return [a..

Algorithm/Python 2024.03.05

[programmers]python 12973 짝지어 제거하기

# 짝지어 제거하기 # 알파벳 소문자로 이루어진 문자열 2개가 붙어있는짝을 찾고 제거 # 모든 문자열 짝이 제거되면 종료 # 성공적 수행 =1 실패 =0 # 스택을 이용해 해결 # 스택은 나중에 들어오면 나중에 나감 def solution(s) : stack = [] for value in s : if not stack : stack.append(value) else : if stack[-1] == value : stack.pop() else : stack.append(value) if stack : return 0 return 1 print(solution("baabaa")) # 1 # b aa baa -> bbaa -> aa -> "" # print(solution("cdcd")) # 0

Algorithm/Python 2024.02.25

[programmers]python 12945 피보나치 수

# 피보나치 수 # F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 # F(2) = F(0) + F(1) = 0 + 1 = 1 # F(3) = F(1) + F(2) = 1 + 1 = 2 # F(4) = F(2) + F(3) = 1 + 2 = 3 # F(5) = F(3) + F(4) = 2 + 3 = 5 # 2이상 n이 입력될때 1234567 로 나눈 나머지를 리턴 def solution(n): answer = 0 F=0 x=0 y=1 # 피보나치수는 수를 두개의 변수에 담아서 구해보자 for i in range(2,n+1): # print(i) # 3이였을때는 한번 더 사용해줘야한다. if i==3: y=1 F=x+y # print..

Algorithm/Python 2024.02.16

[programmers]python 12924 숫자의 표현

# 숫자의 표현 # 자연수 n을 연속한 자연수들로 표현하는 방법이 여러개 # 연속한 수들로 더해야한다.. def solution(n): answer = 0 cnt=0 # 반복문을 돌려 순서대로 돌린다. # 시작은 1부터 for i in range(1,n+1): answer=0 answer+=i # 뒤에수를 더한다 n이 되면 멈추고 합이 n보다 크면 멈춘다 for j in range(i+1,n+1): answer+=j # print(i,j,"uuuiuiuiu") if answer==n: cnt+=1 # print(answer,"asdasdas") # answer=0 break elif answer>n: break if i==n: cnt+=1 return cnt print(solution(15)) # 4 =..

Algorithm/Python 2024.02.16

[programmers] python 12911 다음 큰 숫자

# 다음 큰 숫자 # n이 주어졌을때 n의 다음 큰 숫자 정의 # 이진수 변환시 1의 갯수가 같다. # 이진수 변환 함수를 이용해 풀자? def solution(n): x = n+1 # 다음 큰수 # 이진수 변환 bn=bin(n) # bn=bn.replace("0b","") bx=bin(x) # bx=bx.replace("0b","") # print(bn,bx,"bbbbbbb") # 1의 갯수 확인 cntn=bn.count("1") cntx=bx.count("1") # print(cntn,cntx,"cntcntcntcccc") # 1의 갯수가 다를때 1씩 더해서 다시 변환 while cntx != cntn: x+=1 bx=bin(x) cntx=bx.count("1") return x print(solut..

Algorithm/Python 2024.02.16

[programmers]python 70129 이진 변환 반복하기

# 이진 변환 반복하기 # 0 과 1로 이루어진 어떤 문자열 x 에 대해 이진 변환 # 변환 과정에서 x 가 1이 될때까지 변환 횟수와 사라진 0의 수 # 0을 제거한수를 이진 변환 def solution(s): delzero=0 # 0 삭제 횟수 cnt=0 # 변환 횟수 # s의 길이가 1이 될때까지 반복 while len(s) !=1: # s가 1이 아니라면 이진 변환을 시작 if s !="1": # 0이 s 에 있으면? 0을 제거하고 개수 체크 if "0" in s: delzero+=s.count("0") s=s.replace("0","") # 0을 제외한 길이를 리턴 s=len(s) # print(s) # 이진수로 변환 내장 함수 사용 s=bin(s) s=s.replace("0b","") cnt+..

Algorithm/Python 2024.02.07
728x90
반응형