목록Coding (139)
호기심 많은 분석가
10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net solved.ac를 시작한김에 CLASS 1부터 해결하려고 했는데 의외의 부분에서 멈칫했다. 테스트 케이스의 개수가 주어지지 않아 당황했고, while문을 썼는데 런타임에러가 발생해 어떻게 해결해야 하나 고민하던 중 간단히 해결되었다. import sys while True : try : arr = list(map(int, sys.stdin.readline().split())) print(arr[0]+arr[1]) except : break try, except 구문을 통해 break를 걸어주면서 해결할 수 있었는데, 기억해두면 좋을 것 같아 포스팅에 남긴다.
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 저번 포스팅에서는 다이나믹 프로그래밍에 대해 알아보았습니다. 2021.05.25 - [Coding Test & Algorithm] - [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter8(1). 다이나믹 프로그래밍 [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter8(1). 다이나믹 프로그 포스팅 개요 ..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 다이나믹 프로그래밍이란 메모리 공간을 약간 더 사용하여 연산 속도를 비약적으로 증가시키는 기법이다. 다이나믹 프로그래밍에는 탑다운과 바텀업 방식 2가지가 있다. 다이나믹 프로그래밍은 항상 사용할 수는 없으며, 다음 조건을 만족할 때 사용할 수 있다 1. 큰 문제를 작은 문제로 나눌 수 있다. 2. 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일하다. 본 코드는 모두 ..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다. 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는 데이터를 찾아낸다. 시간 복잡도가 O(logN)이다. 이진 탐색은 코딩 테스트에서 단골로 나오는 문제이니 암기를 추천한다. 처리해야 할 데이터의 개수나 값이 1000만 단위 이상으로 넘어가면 이진 탐색과 같은 O(logN)의 속..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 지난번 정렬 소스코드를 소개한 Chapter6(1)에 이어 코딩 테스트에서 출제되는 유형을 만나보겠습니다. 2021.05.21 - [Coding Test & Algorithm] - [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter6(1). 정렬 [이것이 취업을 위한 코딩 테스트다 with 파이썬] (한빛미디어, 나동빈) Chapter6(1)..
포스팅 개요 '혹시나 책에 있을 모든 실수와 오류는 온전히 제 책임이며, 책에 실린 좋은 아이디어와 표현은 모두 리뷰어님들의 조언 덕분입니다. 정말 고맙습니다.'라는 지은이의 글은 나동빈 저자님의 인품을 느낄 수 있는 한 줄이었습니다. 저도 저런 마인드를 가진 사람이 되겠다고 다짐하며 책과의 여정을 떠나보겠습니다. 포스팅 본문 정렬이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다. 프로그램에서 데이터를 가공할 때 대부분 정렬해서 사용하는 경우가 많기에 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나다. 정렬을 공부하면 '알고리즘의 효율성'도 쉽게 이해할 수 있다. 면접에서도 단골 문제로 출제되니 꼭 기억해두자. 데이터를 보고 우리의 뇌는 우리도 모르게 데이터의 ..
목표. MyTable의 DAY라는 column이 11부터 17까지의 값을 가질 때의 address값을 뽑아내 보자 1. 빈 테이블 생성 # MyTable이라는 TABLE이 있을 경우 지워줌 DROP TABLE IF EXISTS `MyTable`; # MyTABLE이라는 TABLE에 ADDRESS(문자열이면서 가변형) CREATE TABLE MyTable (ADDRESS VARCHAR(50)); 2. procedure를 사용한 for문 작성 # 마찬가지로 add_function이라는 procedure가 있을 경우 삭제 DROP procedure IF EXISTS `add_function`; DELIMITER $$ CREATE PROCEDURE add_function() BEGIN DECLARE i INT ..
포스팅 개요 데이콘(DACON)의 신용카드 사용자 연체 예측 AI 경진대회를 수행하면서 Classify를 위해 LighBGM 기법을 사용하였다. LightBGM을 쓰기 위해 공부한 내용들을 기록한 포스팅이다. 포스팅 본문 1. Light GBM이란? Light GBM(Light Gradient Boosting Machine)은 트리 기반의 학습 알고리즘인 gradient boosting 방식의 프레임워크이다. 2. 다른 트리 기반의 알고리즘과의 차이점은? Light GBM은 다른 알고리즘이 트리를 수평으로 확장하는 것에 반해 트리를 수직으로 확장한다. 즉, 기존의 알고리즘은 수평으로 확장하여 포화 트리를 만들고(Level-wise tree growth), left-wise tree growth인 LGBM..
1. 4종류의 Categorical Variables Variable Name 변수명 의미 예시 Nominal 명목변수 2개 이상의 종류가 있는, 순서가 무의미한 변수 Blood Type (A, O,...) Ordinal 순위변수 '순서'의 개념이 존재하는 변수 GRADE (A, B, C,..) Cyclical 주기변수 '주기'의 개념이 존재하는 변수 DAY (Mon, Tues,...) Binary 이산변수 2가지 종류밖에 존재하지 않는 변수 SEX (M, F,...) 2. Categorical Variables를 다루는 3가지 중요한 방법 2-1. ENCODING : 순위 변수는 mapping을 통해, 나머지는 Labelencoder를 통해 숫자로 변환 추가 정보 : SVM(Support Vector ..
1. 배깅(Bagging)이란? 배깅(Bagging)은 Bootstrap Aggregating의 약자로, 보팅(Voting)과는 달리 동일한 알고리즘으로 여러 분류기를 만들어 보팅으로 최종 결정하는 알고리즘이다. 베깅은 다음과 같은 방식으로 진행이 됩니다. 동일한 알고리즘을 사용하는 일정 수의 분류기 생성 각각의 분류기는 부트스트래핑(Bootstrapping) 방식으로 생성된 샘플 데이터를 학습 최종적으로 모든 분류기가 보팅을 통해 예측 결정 부트스트래핑 샘플링은 전체 데이터에서 일부 데이터의 중첩을 허용하는 방식 보팅이란? 다른 알고리즘 model을 사용하는 점에서 차이가 있다. 2. 랜덤포레스트(RandomForest) 랜덤포레스트는 여러 개의 결정트리(Decision Tree)를 활용한 배깅 방식의..