분류 전체보기 182

투 포인터 two pointer 를 활용하여 문제 해결하기

투 포인터란? 배열 (정렬된 경우가 많음)에서 start과 end 두 곳에 포인터를 두고 순차적으로 조작하는 기법 일반적인 방식이 리스트에서 포인터를 하나 두고 타겟을 찾아나간다면, 이것 양 방향에서 범위를 좁히거나 넓혀 나가는 식으로 문제를 해결하는 것 장점은? for 문을 두 번 돌리면 O(n^2) 의 복잡도 투 포인터 방식으로 풀 수 있다면 O(n) 복잡도로 해결이 가능해짐 문제 예시 두수의 합 정수로 된 정렬된 리스트를 입력으로 받고 덧셈하여 target을 만들 수 있는 두 숫자의 인덱스를 출력하는 문제 (리트 코드의 문제는 정렬된 리스트가 아니지만, 여기서는 투 포인터 풀이를 위해서 정렬된 리스트도 조건 한정) Example Input: nums = [2,7,11,15], target = 9 O..

[AI class day 5] 프로그래머스 코딩 테스트 문제 풀기 TIL

*lv 1부터 lv 4까지의 프로그래머스 문제들을 푸는 시간. 일단 lv1과 lv2를 최대한 풀어보는 것을 목표로 시작 lv1_완주하지 못한 선수 속도가 문제다. 해시형 자료 구조가 유리하다. 리스트를 딕셔너리로 바꿔서 해결 lv1_좌석 구매 마찬가지 키값이 중요하지는 않아서 set으로 바꿔서 해결 lv1_대중소 괄호 짝 맞추기 괄호 문제는 가장 마지막에 열린 괄호부터 닫아야 하기 때문에 LIFO 스택을 활용한다. 스택은 리스트를 활용하여 구현한다. * 참고 딕셔너리는 key, value 쌍인데 key를 가지고 value를 찾는게, value를 가지고 key를 찾는 것 보다 훨씬 간결하다. 찾고 싶은 것을 value에 넣자. lv1_세 소수의 합 문제 지문에 아예 에라토스테네스의 체를 활용해서 풀라고 제..

Programming/Python 2021.04.24

책 <파이썬 알고리즘 인터뷰> 정리

자료 구조, 알고리즘, 코딩 테스트에 대한 준비가 전혀 되어 있지 않은 나. 새로 시작한 K digital training 과정에 포함된 알고리즘과 코딩 테스트 과정 진도를 전혀 따라가지 못하고 있다. 잘은 모르지만 아마도 컴퓨터 공학을 대학에서 공부하는 친구들은 아마도 수업 시간에 좀 더 긴 시간을 가지고 공들여서 공부를 하는 부분인 것 같다. 나는 시간과 머리가 부족하지만, 아예 손을 놓고 있을 수 없으니 개발자 지인이 추천한 책을 일단 한 권 사서 보기 시작했다. 700페이지가 넘은 무지 두꺼운 책이다. 자료구조와 알고리즘, 문제 풀이가 주가 되지만, 머리 식힐 겸 읽어볼 만한 코딩 테스트 노하우, 이직 가이드 같은 내용도 있어 다행이 재미있게 보고 있다. 이제 겨우 읽기 시작했지만, 인상 깊거나 ..

[AI class day 4] 파이썬 코딩테스트 문제 풀이 TIL

*3일차에 이어서 알고리즘 문제 풀이를 하고 있다. 2번 문제 같은 경우에는 너무 어렵게 느껴졌다. 다른 문제들은 몇 가지 중요한 key point만 잡으면 풀 수 있겠다 싶었는데, 2번 문제의 경우는 해설과 모범 답안을 보고도 헤매는 느낌. --> 기본기가 너무 없는 것 같아서 라는 책을 사서 읽고 있는 중인데, '다이내믹 프로그래밍'은 복잡하고 어렵다는 구절이 나왔다. 내가 헤맨 2번이 바로 다이나믹 프로그래밍. 지금 이해 못하더라도 조금 위안을 얻었다. 일단 넘어가고 좀 더 쉬운 것들 부터 이해하려고 노력하려 한다. 1. 힙 Heap 대표 문제 풀이 : 더 맵게 힙은 특정 특성을 가지고 있는 완전 트리의 한 종류 (최대 힙/ 최소 힙) 참고 : 힙 정리 *섞어서 새로운 음식을 만들어 내는 공식이 있..

Programming/Python 2021.04.23

[AI class day 3] 파이썬 코딩테스트 문제 풀이 TIL

* 3일차는 자료구조와 알고리즘 수업을 지나서, 프로그래머스 사이트나 입사용 코딩 테스트에서 많이 접하는 알고리즘 문제 풀이를 하는 동영상 강의를 들었다. 본 강의는 프로그래머스 사이트의 [Python/문제풀이] 파이썬을 무기로, 코딩테스트 광탈을 면하자! 와 동일한 것 같다. 커리큘럼이 동일하다. 나처럼 코딩테스트 문제 풀이에 익숙하지 않거나, 문제는 어찌저찌 풀었지만 효율성 테스트에서 계속 실패하는 사람들은 문제에 어떻게 접근할 것인지 힌트를 얻기에 도움이 될 것 같다. 1. 해시(Hash) 대표 문제 풀이: "완주하지 못한 선수" * 참고* 1. 문제의 데이터 크기를 잘 봐야 한다. 2. 문제의 제한 사항을 잘 읽어야 한다. 이 문제는 해시 Hash 자료 구조로 풀면 편리하다. 해시란? key - ..

Programming/Python 2021.04.22

자료 구조와 알고리즘 공부 기초부터 공부하기

K digital training 코스를 시작했다. 운영 기관에 따라 커리큘럼이 다르지만, 내가 공부하는 곳은 첫째 주 커리큘럼이 알고리즘이다. 알고리즘. 개발 공부를 체계적으로 하기 위해서, 취업을 위한 코딩 테스트를 통과하기 위해서, 코더가 아닌 보다 깊이 있는 프로그래머로 발전하기 위해서 꼭 필요하다는 얘기는 들었지만, HTML 코드부터 무턱대고 따라찍어 가면서 공부를 시작한 나에게는 제공하는 강의와 과제가 너무 어려웠다. 처음부터 내 수준보다 너무 높은 데서 시작하니까 좌절감만 들고 어떻게 해야할지 모르겠다. 나머지 공부로 좀 더 쉬운 수준부터 알고리즘 공부를 다시 해야할 상황 한 블로거 분이 본인이 찾아본 공부 매터리얼과 순서를 공유해주셔서 참고해 보았다. blog.yena.io/studynot..

Programming/Python 2021.04.22

[AI class day 2] 파이썬 자료구조와 알고리즘 TIL

* 첫째날과 이어서 자료구조를 공부하고 있다. 선형 자료구조인 연결리스트, 스택, 큐 이차원 자료구조인 트리 의 개념에 대해 정리하고, 구현하는 실습을 했다. OOP에 자신이 없어서 한참을 헤매고 있다. 12. 스택의 응용 - 수식의 후위 표기법(Postfix Notation) 중위 표기법 (infix notation) : 우리가 일상에서 사용하는 수식 표기법 연산자를 가운데에 ex. A+B 후위 표기법 : 연산자를 뒤에 ex.AB+ --> 후위 표기법을 이용하면 괄호를 쓰지 않고 연산의 우선순위 표현이 가능함 ABC*+ --> B*C를 먼저하고 그다음에 +A 하라는 뜻 = A+(B*C) 1) 중위 표기법으로 쓰인 수식을 후위 표기법으로 변환 2) 후위 표기법으로 쓰인 수식 계산 --> 각각 스택을 활용..

Programming/Python 2021.04.21

[AI class day 1] 파이썬 자료구조와 알고리즘 TIL

del(lst[2]) print(lst) * 국가에서 지원하는 K-digital training 인공지능 코스를 수강하게 되었다. 여러 기관에서 이 코스를 진행하는 것으로 알고 있고, 상세한 커리큘럼과 난이도는 조금씩 다르다고 한다. 내가 수강하는 기관은 매일 매일 공부한 내용을 정리하여 포스팅할 것을 권장한다. 그날 공부한 내용을 정리하고 잘 몰랐다가 알게 된 것들에 대한 기록을 남기려고 한다. *감상 : 솔직히 7~9강의 연결리스트는 너무 어려웠다. 파이썬 클래스에 대해서 배운 적이 있기는 하지만, (작년 11월에 파이썬 입문 수업 때) 지난, 1~3월에 들었던 빅데이터 분석 수업에서는 거의 활용하지 않았었기 때문에 가물가물하다. 솔직히 여기서 너무 헤매서 커리큘럼에서 하루 동안 제시한 진도를 모두 ..

Programming/Python 2021.04.20

SSAC x Fast Campus 패스트 캠퍼스 비즈니스 빅데이터 분석가 과정 수강 후기

*주요 내용 추가 (21.07.14) 현재 SSAC 3기를 모집중이라 이 글을 읽는 분이 늘었다. 나도 올 하반기에 새롭게 개강하는 수업 중에 들을만한 것이 있나 알아보다 놀라운 사실을 하나 알게 되었는데, 싹에서 강의를 한 번 수강하게 되면 다른 강의는 들을 수 없다는 것이다. 여러 사람들에게 수강 기회를 주기 위한 조치라는 것은 이해가 간다. 그런데 Fast Campus 강의같은 경우는 3개월짜리고 실제 강의는 2개월, 나머지 1개월은 자습이다. SSAC에서 개설한 다른 강의 중에는 6개월 짜리 더 전문적인 과정도 있는데, 이 짧은 과정을 수강한 사람은 그 긴 전문가 과정을 들을 수 없게 된다. 더 길고, 비싼 과정을 들을 수 있는 기회를 잃게 되므로, 짧은 과정을 신청해서 듣는 것은 장기적으로 손해..

Logs 2021.04.05

[Kaggle] 시작하기 공부 참고 자료 모음- 데이터 분석 공부하기

개발 배우기를 마음먹고, 독학 공부 플랫폼 codecademy를 활용해서 제일 기초가 되고, 접근하기 쉽다는 웹프로그래밍부터 시작하려고, html, css, java script를 맛배기만 보다가 어찌저찌 하여 지금은 파이썬으로 하는 데이터 분석을 공부하고 있다. 서울시 개발자 취업 교육 플랫폼 SSAC에서 Fast Campus와 함께 진행하는 3개월짜리 데이터 분석가 양성 과정 교육 코스를 수강 중인데, 기본적인 파이썬 언어 문법을 배우고 나서 본격적인 '분석'이라는 것을 시작하게 되고 보니 [kaggle] 사이트에 들어가서 공부를 하란다. ssac.seoul.kr/course/course_view.jsp?id=22228&s_style=gallery&ch=course 꿈꾸는 개발자 데뷔코스, 싹 ‘싹’..

Data 2021.02.28

프로그래밍 독학 사이트 코드카데미 codecademy에서 왕초보가 시작하기 좋은 코스 추천

나는 처음 코드카데미에서 프로그래밍 자습을 시작했을 때, 무료 코스로 제공하는 것 중에서 쉽다고 추천해 준 것을 골라서 시작했다. 무료 코딩 독학 서비스 코드카데미 codecademy 공부 시작 무료로 코딩 배우는 사이트, 코드카다미 codecademy에서 공부 시작 40살 신규취업을 목표로 프로그래밍 학습 시작했다. 40살. 하던 사업이 망했다. (사업이라 하기도 민망하지만) 돈을 벌어야 하는데, 특별한 경력도, 기술도 없다. 뭘 해도 이제 새로 시작할 나이는 rollingsnowball.tistory.com 무료로 공부해보고, 너무 어렵거나 내 적성에 안맞으면 빨리 다른 걸 알아보려는 생각이었기 때문이다. 그런데 블랙 프라이데이 때 유료 결제를 하고, 유료 회원들에게만 제공해주는 프로 코스를 접해보니..

Etcs 2021.02.08

Github 사용하는 법 배우는 중

폴리텍을 지원하기 위해 커리큘럼을 찾아보다가 '모든 프로젝트 관리는 github로 한다'는 문구를 보았다. 또, 12월에 수강한 싹(SSAC) 입문과정, 「Python 게임 만들기」 수업에서도 후반에 미니 프로젝트 과정에서 강사님이 github에 올리신 예제를 바탕으로 공부를 했다. 뭔가 슬슬 github를 배워서 사용해 보아야 할 것 같은 생각이 들었다. github가 대충 뭔지는 건너 건너 들었는데, (버전 관리 시스템이다, 오픈 소스를 올리고, 그걸 활용할 때 쓴다, 다른 사람들이랑 팀 프로젝트를 할 때 효율적이다 등등...) github를 이미 잘 사용하고 있는 친구가 '그냥 대충 이렇게 하면 돼'라고 얘기하고 보여주는 거로는 도대체 이해하고 따라하기가 힘들었다. 그래서 무료로 동영상 강의를 학습..

Logs 2021.01.01

Q. 파이썬 ModuleNotFoundError: No module named 'requests' 오류

위키독스 예제를 풀던 중 에러 발생 pyCharm에서 pyQt 와 Qt designer 를 활용하는 간단한 예제를 풀고, 저자측이 만든 모듈 pykorbit 을 설치하고 예제를 실행하려는데 계속 에러메세지가 뜨는 것이다. 예제 코드는 아래와 같았고, import sys from PyQt5.QtWidgets import * from PyQt5 import uic import pykorbit form_class = uic.loadUiType("window.ui")[0] class MyWindow(QMainWindow, form_class): def __init__(self): super().__init__() self.setupUi(self) self.pushButton.clicked.connect(self..

Programming/Python 2020.12.16