Binary Tree Inorder Traversal - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. DFS를 이용한 Inorder 구현 from typing import * class Solution: def inorderTraversal(self, root: TreeNode) -> List[int]: answer = [] def move(cur): if cur.left: move(cur.left) answer.append(cur.val) if cur...
최근 사내에서 자동화 스크립트를 작성할 때 사용했던 Selenium과 BeautifulSoup 관련 기록을 남겨둔다. 1. Selenium은 PC 성능 영향을 많이 받는다. PC에서 실제 브라우저를 사람 대신 작동하는 방식으로 진행되기 때문에 상황에 따라 적절한 대기 방법을 사용해서 코드를 멈춰줄 필요가 있다. 사용자 환경 기준으로 맞춰줘야 한다. 2. 상황에 맞는 적절한 대기를 사용해야 한다. 셀레니움 wait 개념 이해하기 (implicitly wait VS explicitly wait) - 뻥뚫리는 파이썬 코드 모음 이 문서는 셀레니움 wait 에 관한 implicitly wait 와 explicitly wait 에 대해서 다루고 있습니다. 셀레니움 사용법 전반에 대해서 알아보시려면 셀레니움 크롤러..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com from collections import deque def is_possible(x, y, length): if 0
요약 M1 맥북에서 Python은 지원하지만 기존 라이브러리 호환성에 문제가 있다. M1용 Python이 있지만 몇몇 데이터 분석 관련 라이브러리(Numpy, Pandas)는 사용할 수 없다. (21.03.29. 기준) Anaconda를 이용해 기존 라이브러리들을 지원하는 Python Runtime환경을 Interpreter로 사용하자. 설명 기존에 윈도우 환경에서 업무로 Python과 Pandas 라이브러리를 사용하고 있었다. 무심코 맥북으로 테스팅을 해보려고 Pandas를 설치했는데 무한 로딩 증상이 생겼다. 현재 맥북에선 M1 호환 Python을 설치해서 사용하고 있었는데, 아무래도 기존 라이브러리들, 특히 데이터 분석, 머신러닝 등 뭔가 C 코드를 사용해서 고속 연산을 하고 있을 것 같은 라이브러..
요약 pandas는 python에서 제공하는 데이터 처리, 분석에 사용되는 라이브러리다. csv, xls등 table 기반 데이터를 Dataframe이라는 자료구조로 가져와 다양한 조작을 할 수 있다. 최근에 회사 작업으로 table 기반 데이터를 조작해야 할 일이 있었는데 pandas의 함수 중 하나인 read_csv를 이용해 csv파일을 읽을 때 발생하는 한글 깨짐과, to_csv를 이용해 csv파일을 생성했을 때 Excel에서 한글이 깨지는 조건을 정리해봤다. 정말 단순한 옵션으로 했기 때문에 모든 경우에 통용되지 않겠지만, 원리를 이해할 겸... 소스 코드 # dict으로 테이블에 들어갈 데이터를 구성 # key값은 column 이름이, list에는 row 데이터가 들어간다. temp_dict =..
programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 내가 짠 Java 코드 import java.util.Arrays; class Solution { public long solution(long n) { String nString=Long.toString(n); String[] arr=nString.split(""); Arrays.sort(arr); StringBuilder b..