분류 전체보기
[ 이코테 강의 ] 정렬 알고리즘
정렬 알고리즘 정렬(sorting) : 데이터를 특정 기준에 따라 순서대로 나열하는 것 선택 정렬 처리되지 않은 데이터 중 가장 작은 데이터를 선택해 맨 앞의 데이터와 바꾸는 것을 반복 처리되지 않은 데이터 중 가장 작은 0 을 선택해 가장 앞의 5와 바꾸고.. 이를 반복 탐색 범위는 한번 확인할 때마다 줄어들게됨. 매번 선형탐색을 하는것과 같음 => 이중탐색을 활용할 수 있다 선택 정렬의 시간 복잡도 선택 정렬은 N번 만큼 가장 작은 수를 찾아서 맨 앞으로 보내야 한다 N + (N-1) + (N-2)+ ... + 2 빅오 표기법으로는O(N^2) 삽입 정렬 처리되지 않은 데이터를 하나씩 골라 적절한 위치에 삽입 선택 정렬에 비해 구현하기는 힘들지만 효율적이다. 삽입 정렬 소스코드 for i in ragn..
[ 22.04.22 - 22.04.24 ] 쉬어가기 🌵
⏳ 돌아보기 1. 서울 방문 2. 끊임없는 삽질 3. 코딩테스트 준비 서울 방문 리프레쉬를 위해 서울을 방문했다. 오랜만에 함께 공부하는 친구들 외의 사람을 만나고 열심히 돌아다녔다. 서울에서 만난 친구의 면접과 시험 일정으로 인해 많이 놀지는 못하고 거의 카페에서 공부하기는 했지만 아주 좋은 리프레쉬가 되었다. 그러나 버스 시간은 항상 아깝다 이번에도 어김없이 버스 코딩은 계속되었다. 흔들리는 차체 안에서 열심히 백준 문제를 풀어보려 노력하지만 일반 고속버스에서 엉거주춤하게 앉은 채로 작은 글씨를 뚫어져라 처다보면서 답을 적어내려가는 것이 쉽지많은 않다. 게다가 이번에는 생각지 못한 문제를 맞닥뜨리게 되었다, 끊임없는 삽질 백준으로 코딩테스트를 공부하는 사람들이라면 한번씩은 들어봤을 익스텐션이 있다. ..
[ 22.04.21 ] 오늘의 회고
⏳ 돌아보기 1. 기록에 집중하다 2. 알고리즘 공부 3. FE_interview 스터디 4. 코드 뜯어보기 기록에 집중하다 어제 블로그에 4개의 글을 올렸다 React에서 상태관리하기 코딩 테스트에 꼭 필요한 파이썬 문법 Clean Code 읽고 프로젝트 다시보기 그리디 & 구현 / DFS & BFS React에서 상태관리 하기 글은 다시 정리해서 스터디에도 올렸다. 블로그에 막 기록을 시작했을 때는 대단한 사람들도 너무 많은 것 같은데.. 내 블로그를 볼까? 라는 걱정에 글쓰기를 차일피일 미뤘는데 내가 공부한 내용을 내가 다음에 편하게 꺼내볼 수 있게 작성하는 것을 기본적인 목표로 삼으니까 블로그를 쓰는 데 중압감이 없어진 것 같다. 블로그를 작성하면서 내용을 조금 더 정확히 전달하기 위해 정보를 탐..
[ 이코테 강의 ] 그리디 & 구현 / DFS & BFS
👓 그리디 알고리즘 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 바로 떠올릴 수 있는 능력을 요구한다 정당성 분석이 중요 단순히 가장 좋아 보이는 것만 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 문제 단순히 매 상황에서 가장 큰 값만 고를 때 최적의 답을 고를 수 없을 때가 있다. 일반적인 알고리즘에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다 하지만 코테에서는 대부분 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제됩니다 == 탐욕법으로 풀릴수 있게 출제함 O(NlogN)의 시간복잡도를 가지는 방법 while True: target = (n // k) * k ..
[MBTI 과몰입 테스트] 프로젝트 다시 열어보기
✍ 계기 집 근처 도서관에서 Clean Code 빌려 읽어내려가면서 내가 열심히 공부하고 써내려왔던 지난날의 코드들을 다시 생각해보게 되었다. 그것도 React를 막 배우고 어서빨리 사용해보고 싶어서 후다닥 만들어보았던 코드가 계속 밟혔다. 그래서 책을 잠시 덮고 내 코드를 살펴보게 되었고 생각보다 더 엉망이었다. Clean Code에서 제안하는 방식으로 봐도 엉망이었고 무엇보다 코드의 퀄리티를 수정하기 전에 수정할 것들이 자꾸 눈에 밟혔다. 조금 더 React에 대해서 알게 된 현재의 내가 봐도 엉망이었다. 따라서 계획해두었던 새 웹은 잠시 미뤄두고 React로 만든 첫 웹인 Mbti 과몰입 테스트를 다시 뜯어보기로 했다. 🩰 디자인 처음으로 뜯어고친 부분은 디자인이었다. 이유 급박한 기능적인 문제가 ..
[ Python ] 코딩 테스트에 꼭 필요한 파이썬 문법
🙇♀️🙇♀️🙇♀️🙇♀️🙇♀️ (이코테 2021 강의 몰아보기) 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기 감사합니다...감사합니다..!!! 가뭄의 단비같은 강의를 보고 메모한 내용 온라인 코테 - 타인과 문제풀이를 공유하지 않는 선에서 인터넷 검색 허용 오프라인 코테 - 시험장에 방문하여 치르는 시험 - 인터넷 검색 안됨. 팁 1 알고리즘 코드나 노트를 만들면 좋다 팀 노트같은것을 만드는걸 추천(대회나갈때) 👓 출제경향 2~5시간 가량의 시간 - 그리디 - 구현 - DFS / BFS ✨ 알고리즘 성능평가 복잡도(complexity) 알고리즘의 성능을 나타내는 척도 시간 복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 공간 복잡도 : 특정한 크기의 입력에 대해서 알..
React에서 상태관리하기 (자체적 방법과 라이브러리 비교하기 Recoil, Redux)
상태? 웹을 렌더하는 데 영향을 미칠 수 있는 값. 이 정의로 보면 useState또한 상태 관리다. => 동적인 값이어야 한다. 지역상태 특정 컴포넌트 안에서만 관리된다 다른 컴포넌트와 데이터를 공유하지 않는다 보통 form 컴포넌트 간 상태 여러 컴포넌트에서 관리되는 상태 일반적으로 prop drilling 방식을 사용한다. 전역 상태 프로젝트 전체에 영향을 끼치는 상태 React의 상태관리 상태 관리 라이브러리를 이용하는 방법 외에도 React가 자체적으로 가지고 있는 상태 끌어올리기(Lifting State Up) 을 이용해 React 자체적으로 해결할 수 있다. 상태 끌어올리기 같은 상태가 필요한 여러 컴포넌트들이 공통적으로 가지고 있는 부모 컴포넌트에 상태를 선언한다. 따라서 여러 컴포넌트가 ..
[ 22.04.20 ] 오늘의 회고
⏳ 돌아보기 1. Mbti 과몰입 테스트 리펙토링 2. 알고리즘 공부 3. FE_interview 스터디 준비하기 4. 코딩테스트 준비 Mbti 과몰입 테스트 1. Home에서 버튼이 한쪽으로 쏠리는 현상을 교정했다 🤨 원인 트위터에 웹을 올리고 많은 분들이 테스트해주면서 피드백해주셨다. 정말 정말 감사합니다! 그 중 한 피드백이 아이폰 12 미니에서 home 화면 버튼과 form 쏠림 현상이 나타난다는 피드백이었다. 분명히 크롬 개발자 모드로 볼 수 있는 모바일 화면들을 두루두루 확인했다고 생각했지만, 예상치 못한 피드백이었지만 문제의 원인을 빠르게 파악할 수 있던 피드백이었기 때문에 다행이라고 생각했다. 🥳 결과 home.module.css에서 form width를 90%로 설정하니 form이 제 자..