파이썬

    파이썬 알고리즘 인터뷰 9, 10, 11장 - 스택, 큐, 데크, 우선순위 큐, 해시 테이블

    오늘 TIL 3줄 요약 스택은 거의 모든 APP을 만들때 사용되는 자료구조로서, 스택과 연관된 알고리즘을 제대로 이해하느냐 못 하느냐에 따라서 기본 알고리즘을 설계할 수 있느냐 없느냐가 결정되기도 한다. FIFO로 처리되는 큐는 BFS, 캐시 등을 구현할 때 널리 사용된다. 데크나 우선순위 큐 같은 변형들도 유용하다. 성능을 위해 파이썬에서는 데크를 사용하는 것이 가장 좋다. 파이썬에서는 대부분의 우선순위 큐 풀이에 heaqpq 모듈을 사용한다. TIL (Today I Learned) 날짜 d2022 10. 24. ~ 2022. 11.07 오늘 읽은 범위 파이썬 알고리즘 인터뷰 9장 스택, 큐, 10장 데크, 우선순위 큐, 11장 해시 테이블 책에서 기억하고 싶은 내용을 써보세요. 파이썬의 Global ..

    파이썬알고리즘인터뷰 8장 연결리스트

    오늘 TIL 3줄 요약 재귀, 연결리스트 활용 500배 TIL (Today I Learned) 날짜 2022.10.10~2022.10.14 오늘 읽은 범위 파이썬 알고리즘 인터뷰 8장 연결리스트 책에서 기억하고 싶은 내용을 써보세요. 런너 기법- 2칸씩 이동하는 포인터 fast와 느린 런너(1칸씩 이동) slow를 둔다. 빠른 런너가 먼저 리스트 끝에 도달하면, 느린 런너는 리스트의 중간 지점을 가리킨다. 이런 방식으로 중간 위치를 찾아내면, 값을 비교하거나 뒤집기를 시도하는 등 활용도가 많다. 아래 파이썬의 변수다중할당 부분 def isPalindrome(head): # 중략 rev, rev.next, slow = slow, rev, slow.next # 위 다중할당은 아래와 같이 바꿔주면 가독성이 좋..

    [북TIL] 파이썬 알고리즘 인터뷰 7장 배열

    오늘 TIL 3줄 요약 브루트포스, 투포인터는 생각보다 다양한 풀이에서 써먹을 수 있다. 그러나 두 방법보다 효율이 좋은 풀이도 존재한다. 파이썬은 쓰기 쉬운 언어다. 그러나 Go나 C(++)에 비해 성능이 부족한걸 기억하고 푼다. TIL (Today I Learned) 날짜 2020 08.05. FRI. ~ 08.11. THU 오늘 읽은 범위 파이썬 알고리즘 인터뷰 7장 배열 책에서 기억하고 싶은 내용을 써보세요. 추상자료형(ADT)의 실제 구현 대부분은 배열 또는 연결 리스트를 기반으로 한다. 파이썬과 같은 동적 프로그래밍 언어는 정적 배열 자체를 제공하지 않는다. 동적 배열은 미리 초깃값을 작게 잡아 배열을 생성하고, 데이터가 추가되면서 꽉 채워지면 늘려주고 복사하는 식이다. 비교, 탐색을 쓰지 않..

    [북TIL] 파이썬알고리즘인터뷰 6. 문자열 조작

    오늘 TIL 3줄 요약 깔끔하고 빠른 코드를 위해선 리스트 컴프리헨션, 람다 표현식, 정규식을 잘 다룰줄 알아야 함. python의 유용한 메서드는 반드시 기억 같은 기능을 필요로 할때, 처리시간이 빠른 방법을 택하려면 결국 메서드 실행 시간을 알아야함. ex- 문자열 슬라이싱 > reverse() > reversed()+join() > for 반복 > while반복 > 재귀(슬라이싱의54배) TIL (Today I Learned) 날짜 2022.07.21. THU ~ 07.27 WED 오늘 읽은 범위 파이썬알고리즘인터뷰 - 6장 문자열조작 책에서 기억하고 싶은 내용을 써보세요. isalnum() isdigit():숫자 여부인지 판별해준다. 실수나 음수는 판단불가해서 False 반환 a = "1" b =..

    파이썬 알고리즘 인터뷰 5장 리스트, 딕셔너리

    오늘 TIL 3줄 요약 파이썬의 자료형은 모두 객체 다양한 모듈들, 특히 딕셔너리와 관련된 특수 형태의 컨테이너 자료형들을 활용하자 defaultdict, Counter, OrderedDict TIL (Today I Learned) 날짜 2022.07.20. WED 오늘 읽은 범위 파이썬 알고리즘 인터뷰 5장 리스트, 딕셔너리 책에서 기억하고 싶은 내용을 써보세요. 파이썬은 모든 것이 객체다.리스트 또한 객체에 대한 포인터목록을 관리하는 형태로 구현되어 있다. // CPython 에서 리스트는 요소에 대한 포인터목록을 갖고 있는 구조체로 선언되어 있다. typeof struct { PyObject_VAR_HEAD PyObject **ob_item; // 포인트 목록으로 사이즈를 조절하는 형태로 리스트요소..

    [파이썬] 백준 2798번 블랙잭

    백준 2987번 블랙잭 브루트포스 문제 처음 내 접근 방법은 리스트 내 요소를 3개씩 뽑고 새로운 리스트에 담기. 그 과정에서 목표숫자가 나오면 즉시 return하며 종료 나오지 않을 경우 새롭게 만들어진 리스트에서 이진탐색으로 값 출력하는 방법으로 풀었었다. 코드로하면 아래와 같다. import sys # 이진탐색을 위한 bisect from bisect import bisect_left, bisect_right cards, goal = map(int, sys.stdin.readline().split()) numbers = list(map(int, sys.stdin.readline().split())) # 더해진 값들을 담아줄 리스트 sum_list = [] def blackjack(goal, numb..

    [북TIL] 파이썬 알고리즘 인터뷰 1~3장

    오늘 TIL 3줄 요약 파이썬이 왜 코테에 유리한가(코드잼, 카카오 공채 응시 언어별 통계로 확인) 파이썬과 다른 언어들의 반복문, 구조체, 클래스 구현 구조체, 동적 타이핑 언어, 제네릭 프로그래밍이란? 파이썬의 인덴트는 공백 4칸(PEP 8) 좋은 코드는 얼핏 쳐다 보기만해도 향기가 난다. TIL (Today I Learned) 날짜 2022.07.14 THU 오늘 읽은 범위 파이썬알고리즘인터뷰(상길북)1~3장 책에서 기억하고 싶은 내용을 써보세요. 파이썬은 동적 타이핑 언어로 사용하기엔 매우 편하지만, 타입을 명시하지 않으면 가독성을 낮추고 버그 발생 확률이 높아진다. # 타입을 명시하는 예 from typing import TypeVar # 파이썬의 typing 내장 패키지가 파이썬을 정적 타입으..

    파이썬 EOF error feat. 백준 10951번 A+B - 4

    백준 10951 풀이의 경우, try-except문을 활용하면 무난하게 풀린다. while True: try: A,B = map(int, input().split()) print(A+B) except: break 그러나 try-except문을 쓰지 않을 경우 EOF error를 뱉어낸다. 파이썬 공식문서를 보면 while 반복문이 끝날 조건이 없는 상태에서 input이 빈 데이터를 받은 경우 발생하는 듯하다. sys 라이브러리의 readline을 사용하는 경우 ValueError를 낸다. 연산에 들어가야하는 값이 부적절한 인자를 받아 그런듯하다.

    세번의 도전끝에 졸업한 파이썬 챌린지

    세번의 도전 끝에 마지막 졸업작품까지 제출 완료. 마지막 과제를 제출하는 순간은 어쩌면 수료증을 받았을 때보다 더 짜릿한것같다. 프론트 쪽 코딩과는 달리 파이썬 코드들은 결과가 눈에 보이지가 않아서(?) 많이도 헤맸다. 특히 마지막 과제 중 csv파일을 save_file로 내보낼때 파일명이 원하는대로 정해지지 않아 몇번이나 코드를 수정했는지 모르겠다. 결국 코드가 아니고 브라우저 캐시 문제였던걸 보고 환호와 좌절을 동시에..ㅠㅠ 노마드코더 사이트를 만난건 나에게 행운이다. 쌰라웃 투 니꼬!

    셀레니움을 활용한 스크래퍼 만든 소회

    노마드코더(nomadcoder.co)에서 니꼬쌤에게 배운 파이썬으로 혼자 로켓펀치 스크래퍼를 만들어봤다. 첨엔 강의에서 배운대로 따라하면 금방 만들겠지(?)라는 생각으로 재밌겠다고 시작했다. 허나 왠걸, 로켓펀치는 자바스크립트(를 사용한 것 같다)를 통해 브라우저에서 페이지를 로딩하는 것 형식이라 indeed나 stackoverflow와 다르게 requests만으로 html소스를 가져올 수가 없었다. pagination에서 마지막 페이지를 가져오는 것조차 아예 긁어와지지 않는다면 처음부터 다른 방법을 찾았을텐데 난 내가 css selector를 잘못 선택한 줄 알았다. 근데 오히려 지금 생각해보면, 어떨때는 html 태그가 가져와지는 것 자체가 css selector 문제는 아니란거네. 암튼, 그래서 찾..