코딩테스트 6

코딩테스트 알고리즘 정리

2024.12.15(일) - 2024.12.17(화)1. DFS/BFSDFS(Depth First Search, 깊이 우선 탐색)시작 노드에서 자식의 노드들을 순서대로 탐색하면서 깊이를 우선으로 탐색하는 알고리즘Stack(스택)을 사용한다.=> BFS에 비해 메모리 공간을 덜 차지한다. 구현 방법1) 재귀함수를 이용한 구현2) stack 자료 구조를 이용한 구현 활용1) 특정 경로 찾기2) 그래프의 모든 노드 방문3) 경로의 특징을 저장해둬야 하는 문제4) 그래프 사이클 여부 찾기5) 해결책의 수가 많은 경우 BFS(Breadth First Search, 너비 우선 탐색)시작 노드에서 인접한 노드들을 탐색하면서 너비를 우선으로 탐색하는 알고리즘Queue(큐)를 사용한다. 구현 방법1) queue 자료 구..

알고리즘 2024.12.18

[CNU SW Academy] 40일차(23.01.27)

프로그래머스 - 프론트엔드 미니 데브코스 타입스크립트(TypeScript) - 타입이 적용된 JavaScript - MS에서 만듦 - 장점 - 타입이 있다는 것 => 안정성 : 컴파일 단계에서 미리 오류를 감지할 수 있다. => 가독성 : 타입을 보고 무엇을 하는지 미리 알 수 있다. - 단점 - 초기 설정을 해야한다. - 스크립트 언어의 유연성이 낮아진다. - 컴파일 시간이 길어질 수 있다. (한 번 빌드해야 한다. => 빌드에 시간이 오래 걸린다.) 문법 1. 타입 주석과 타입 추론 - 변수, 상수 혹은 반환값이 무슨 타입인지를 나타내는 것을 의미 - 생략하면 컴파일 타임에 알아낸다. let a: number = 1;// 타입 주석 let b = 2;// 타입 추론 let c: boolean = fa..

SW Academy 2023.01.27

[CNU SW Academy] 38일차(23.01.25)

프로그래머스 - 프론트엔드 미니 데브코스 upload 컴포넌트 단점은 꾸밀수가 없다는 것 => toggle을 이용하여 숨기고 다른 스타일을 보여줄 수 있다. onDrop, onDragEnter, onDragLeave, onDragOver 이벤트를 이용하여 파일드롭을 구현할 수 있다. - preventDefault를 이용하여 브라우저 기본 이벤트를 막고, - stopPropagation을 이용하여 부모나 자식 컴포넌트로 이벤트가 전파되는 것을 막는다. Badge 컴포넌트 sns에서 알림 등이 왔을 때 알림이 몇개가 쌓였는지 확인할 수 있는 UI를 Badge라고 부른다. maxCount, showZero prop을 이용하여 100 이상인 경우 100+로 표현하거나, 0인 경우 표시되지 않도록 구현할 수 있다..

SW Academy 2023.01.25

[CNU SW Academy] 26일차(23.01.05)

양희철교수님 - 데이터분석 Regression Linear Regression - 독립변수와 종속변수 사이 선형식을 구하고 그 식을 이용하여 변수값이 주어졌을 때 종속변수의 변수 값을 예측하는 분석방법 - 독립변수의 개수에 따라 단순 선형과 다중 선형으로 구분 더 높은 차수 : 정확하게 표현할 수 있지만 그만큼 연산복잡도가 기하급수적으로 증가 새로운 데이터가 들어왔을 때 얼마나 잘 표현할수 있는가가 목적 차수가 높은 것이 항상 좋은 성능을 보이지는 않는다. Machine learning based regression 적절한 트레이닝 셋을 통해 learning algorithm을 만들어내고 이렇게 만들어진 h와 입력 x를 이용해 예측 y을 만들어내는 것 손실함수(loss function) 선형회귀식과 실제..

SW Academy 2023.01.05

[CNU SW Academy] 25일차(23.01.04)

양희철교수님 - 데이터분석 데이터 전처리 - 데이터 그룹핑 : groupby() - 데이터 필터링 - 데이터 결손값(NaN) 처리 - isna() : 결손값이 있는지 확인 - dropna(axis, how, inplace) - axis : 축이 0이면 결손 데이터를 포함한 행 삭제, 1이면 열을 삭제 - how : 값이 any이면 결손 데이터가 하나라도 포함되면 제거, all이면 axis에 따라 전체가 결손 데이터여야 제거 - inplace : True이면 원본에서 결손데이터를 삭제, False는 원본은 그대로 두고 고쳐진 데이터프레임 반환 - fillna() : 결손값을 채움 - 데이터 구조 변경 - pivot() - concat() : 데이터 합치기 - 데이터 정렬 - sort_values() 데이터..

SW Academy 2023.01.04

[CNU SW Academy] 코딩테스트 가이드

문제를 풀 때 중요한 것 1. 여러 풀이 방법이 있다는 것을 기억하자. 2. 예외가 있을 수 있다는 것을 기억하자. 3. 내가 푼 답이 베스트인지 의심하자. 4. 문제를 풀었다면 시행착오를 모두 기록하자.(오답노트) 5. 다른 사람의 코드를 많이 보자. 6. 쉽게 포기하지 말자.(3시간 이상 붙잡고 풀어보기) => 도저히 모르겠다면 답을 보는 것도 좋은 방법 알고리즘 마스터가 될 필요는 없다. 회사는 업무 수행의 기초 능력을 확인하고 싶은 것 대부분의 코딩 테스트는 대회용 알고리즘을 출제하지 않는다. => 문제 해결 능력을 기르는 것이 더 중요하다. 어디까지 공부할지 정하자. 성향 파악하기 1. 미리 생각하고 의사 코드를 작성해야 더 잘 풀리는 사람 2. 일단 코드를 작성하면서 생각해야 더 잘 풀리는 사..

SW Academy 2022.12.23