코딩테스트 8

코테 공부하기 2일차 (25.07.12)

ℹ️ 문제정보- 문제 번호 : 10819- 문제 이름 : 차이를 최대로- 난이도 : 실버 2- 문제 링크 : https://www.acmicpc.net/problem/10819 📖 문제 요약N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.|A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다..

코딩테스트 2025.07.13

코테 공부하기 1일차 (25.07.11)

ℹ️ 문제정보- 문제 번호 : 1476- 문제 이름 : 날짜 계산- 난이도 : 실버 5- 문제 링크 : https://www.acmicpc.net/problem/1476 📖 문제 요약준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다.지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19)우리가 알고있는 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1년이 지날 때마다, 세 수는 모두 1씩 증가한다. 만약, 어떤 수가 범위..

코딩테스트 2025.07.11

코딩테스트 알고리즘 정리

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