분류 전체보기
-
[SW 정글 7일차] 정렬 알고리즘 1기타/SW 사관학교 정글 2021. 8. 8. 23:08
오늘은 정렬 알고리즘에 대해 정리해보려고 한다. 정글에 들어오기 전, 정렬 알고리즘을 나동빈님 책과 유튜브 강의로 본 적은 있지만 파이썬에서는 sort() 내장함수가 시간복잡도 면에서 좋기 때문에 정렬 알고리즘을 파헤치기 보다는 그냥 정렬 문제면 sort()써야지라는 생각 뿐이였다. 오늘 이렇게 나에게 시간이 주어진만큼 정렬 알고리즘을 제대로 공부를 할 수 있었다. 1. 버블 정렬 (bubble sort) 버블 정렬은 정렬 알고리즘 중 기본적인 알고리즘으로 이웃하고 있는 두 원소의 대소 관계를 비교하여 자리 교환이 필요할 시에 교환을 반복하는 알고리즘이다. 아래의 배열을 버블 정렬을 이용하여 오름차순으로 정리한다고 해보자. 뒤에서부터 이웃한 원소 2개씩 대소 비교를 하며 왼쪽의 값이 오른쪽의 값보다 작거..
-
[SW 정글 6일차] 몰랐었던 배열 비교기타/SW 사관학교 정글 2021. 8. 7. 22:49
오늘은 정글 6일차, 어제에 이어 알고리즘 기초공부를 이어나갔고 제공된 기초문제 중 뒷부분은 다소 시간이 걸리는 문제이기에 팀원과의 리뷰는 오늘까지 이루어졌다. 오늘 정리할 내용은 알고리즘과 자료구조에 대한 공부는 했었지만 내가 모르거나 혹은 대충 알고 넘어갔던 부분을 정리해보려고 한다. 1. 비교 연산자로 배열의 대소 또는 등가 관계 판단하기 먼저, 기존에는 모르고 있었던 배열과 배열사이에 비교 연산자를 사용하는 것이다. 간단하게 배열에 대해 설명하면 배열은 기본 자료구조 중 하나로 어떠한 값들을 묶음 단위로 저장하여 데이터가 모여있는 자료구조이다. 배열에는 객체가 저장되고 배열에 저장된 객체 하나하나를 원소(element)라고 한다. 그리고 이 원소(element)는 각각 인덱스(index)번호를 부..
-
[SW 정글 5일차] 유용한 파이썬 문법기타/SW 사관학교 정글 2021. 8. 6. 22:57
오늘부로 정글에 들어온 지 5일차가 되었고 앞으로 4주동안 알고리즘과 자료구조 지식을 쌓게 될 예정이다. 오늘은 알고리즘 기초부터 시작해 간단한 구현문제를 풀면서 알게된 유용한 파이썬 문법을 정리하려고 한다. 참고하고 있는 서적은 자료구조와 함께 배우는 알고리즘 입문 파이썬 편이고 백준 온라인 저지문제를 풀고 있다. Do it! 자료구조와 함께 배우는 알고리즘 입문 : 파이썬 편 - YES24 기업 코딩 테스트와 모든 시험의 기초가 되는 ‘자료구조와 알고리즘’!213개의 그림과 136개의 파이썬 실전 예제로 빠르고! 쉽게! 배운다.자료구조와 알고리즘은 국내외 IT 기업의 면접과 코딩 www.yes24.com 1. 포맷 문자열 리터럴 먼저, 포맷 문자열 리터럴이다. 포맷 문자열 리터럴은 f-문자열이라고도 ..
-
[SW 정글 4일차] 나는 왜 정글에 들어왔을까? (feat. 0주차 회고)기타/SW 사관학교 정글 2021. 8. 5. 21:35
[0주차 회고] 2021년 08월 05일 목요일, 오늘부로 SW 사관학교 정글에 들어온지 4일차이다. 정글은 목요일을 기점으로 발제를 진행하고 한 주차가 시작되는 형식이다. 이번 주 월요일(08월 02일)에 정글에 들어오고 오늘(08월 05일)까지는 1주차 시작 전인 0주차로 미니 팀 프로젝트를 진행했다. 팀 프로젝트는 원하던 목표물을 완성했고 성공적으로 마무리됐고 이전에 경험했던 팀 프로젝트와 달리 팀원들과 기술적인 문제를 공유하며 얘기하는 것이 좋은 경험이 되었다. 아쉬운 점은 내가 서버 사이드 렌더링을 썼는데 서버 사이드 렌더링이 무엇인지, 클라이언트 사이드 렌더링과 차이점은 무엇인지, 둘은 어떠한 경우에 써야하는지 등 나의 것으로 만들기에는 시간이 부족했다. 첫 날에는 JWT와 세션에 대해 알아볼..
-
[python] LBYL와 EAFP프로그래밍 언어/Python 2021. 8. 1. 21:36
오늘은 파이썬의 코딩 스타일인 LBYL과 EAFP에 대해 정리해보려고 한다. 현재 나는 프로그래머스에서 제공하는 파이썬 코테과정 6기를 참여하고 있다. https://programmers.co.kr/learn/courses/12441 [스터디/6기] 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Python반) 🚀 아쉽지만 6기는 마감되었어요. 12월 시작 예정인 7기 오픈 알림을 신청하고, 최저가에 수강하세요! 최저가 알림 받기 코딩테스트와 실무 역량 모두 잡는 스터디: Python반 코딩테스트 운영진과 programmers.co.kr 1주차 과제 문제를 풀고 현업 개발자 리더님에게 코드 리뷰를 받으면서 LBYL과 EAFP를 듣게 되었다. 이 LBYL과 EAFP를 처음 알아서 재미있기도 하고 정리해..
-
[python] deque 사용해보기프로그래밍 언어/Python 2021. 7. 30. 20:50
오늘은 이전부터 많이 사용해왔지만 popleft()만 활요해왔던 deque 객체에 대해 정리해보려고 한다. 보통 deque는 코딩테스트 시에 파이썬에서 기본적으로 제공하는 리스트를 큐로 사용하는 것보다 효율적이여서 사용할 것이다. 효율적이라고 말할 수 있는 대표적인 이유는 원소를 팝할 때이다. 기존적으로 큐라는 자료구조는 FIFO이기 때문에 리스트를 큐로 사용한다면 원소를 팝할 때 list.pop(0)메소드를 사용할 것이다. 여기서 list.pop(0)은 시간복잡도가 O(n)이라는 것을 알아야한다. 위 그림과 같이 pop(0)을 실행하면 그 후에 뒤에 있던 값들이 한 칸씩 당겨지면서 앞 칸을 채우는 작업이 이루어진다. 그래서 pop(0)은 시간복잡도가 O(n)이다. 하지만, deque로 큐를 만들고 po..
-
[파이썬 코테 6기] 1주차 세션 정리기타/파이썬 코테 스터디 6기 2021. 7. 29. 18:12
이 글은 프로그래머스에서 진행하는 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Python반) 6기를 참여하면서 일주일에 한 번(매주 수요일) 진행되는 세션에서 배운 내용을 정리하는 글이다. 오늘은 1주차 세션(2021년 07월 28일 진행)에서 배운 내용을 정리해보려고 한다. https://programmers.co.kr/learn/courses/12441 [스터디/6기] 코딩테스트와 실무 역량 모두 잡는 알고리즘 스터디(Python반) × 이번 기수는 마감되었습니다. 대기자 신청 을 해주시면 쿠폰과 함께 가장 먼저 연락드리겠습니다. 코딩테스트와 실무 역량 모두 잡는 스터디: Python반 코딩테스트 운영진과 실무 개발자가 뭉 programmers.co.kr 스터디에 대한 전체적인 후기나 진행과정..
-
[스터디 15주차] 람다식프로그래밍 언어/JAVA 2021. 7. 28. 16:14
더보기 목표: 자바의 람다식에 대해 학습 1. 람다식 사용법 람다식은 메소드를 하나의 '식(expression)' 으로 표현한 것 익명 함수(anonymous function)를 생성하기 위한 식이다. 람다식을 사용하면 코드가 간결해지고 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계할 수 있는 장점을 가진다. 더보기 익명함수란 말그대로 함수의 이름이 없는 함수다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있다. 일급객체란 다음과 같은 것들이 가능한 객체를 의미한다. - 변수나 데이터 구조 안에 담을 수 있다. - 파라미터로 전달 할 수 있다. - 반환값으로 사용할 수 있다. - 할당에 사용된 이름과 무관하게 고유한 구별이 가능하다. 람다식을 사..