알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 나머지 합 구하기
·
ALGORITHM
005 나머지 합 구하기 (백준 10986번) 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net N x N 구간합 2차원 리스트를 만들어서 풀 수 있을 거라 생각했는데 그럼 시간 내에 해결할 수 없음을 알게됨 나머지 합 문제 풀이의 핵심 아이디어 - (A+B) % C = ((A % C) + (B % C)) % C, 다시 말해 특정 구간 수들의 나머지 연산을 더해 나머지 연산을 한 결과 이 구간 합으 ㅣ나머지 연산을 한 값을 동일 - 구간 합 배열을 이용한 식 S[i..
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 스택과 큐
·
ALGORITHM
03-5 스택과 큐 스택과 큐의 핵심 이론 ① 스택 - 스택은 삽입과 삭제 연산이 후입선출(LIFO: Last-in First-out)로 이뤄지는 자료구조 - 후입선출은 삽입과 삭제가 한 쪽에서만 일어남 - 깊이우선탐색(DFS), 백트래킹 종류의 코딩테스트에 효과 파이썬의 스택 위치 - top: 삽입과 삭제가 일어나는 위치 연산(리스트 이름이 s일 때) - s.append(data): top 위치에 새로운 데이터를 삽입하는 연산 - s.pop(): top 위치에 현재 있는 데이터를 삭제하고 확인하는 연산 - s[-1]: top 위치에 현재 있는 데이터를 단순 확인하는 연산 ② 큐- 큐는 삽입과 삭제 연산이 선입선출(FIFO: First-in First-out)로 이뤄지는 자료구조- 삽입과 삭제가 양방향에..
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 구간 합
·
ALGORITHM
03-2 구간 합 구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘 구간 합의 핵심 이론 합 배열 S 정의 S[i] = A[0] + A[1] + A[2] + ... + A[i-1] + A[i] 합 배열 S를 만드는 공식 S[i] = S[i-1] + A[i] 구간 합을 구하는 공식 S[j] - S[i-1]
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 배열과 리스트
·
ALGORITHM
03-1 배열과 리스트 파이썬에서는 리스트가 배열의 특성도 내포하고 있어 크게 구분하여 사용하지는 않음 배열과 리스트의 핵심 이론 ① 배열- 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조- 인덱스를 통해 참조 가능 배열의 특징 - 인덱스를 사용하여 값에 바로 접근할 수 있다. (장)- 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다.- 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 늘릭거나 줄일 수 없다. (단)- 구조가 간단하므로 코딩 테스트에서 많이 사용한다. ② 리스트- 값과 포인터를 묶는 노드를 포인터로 연결한 자료구조 리스트의 특징 - 인덱스가 없으므로 값에 접근하려면 H..
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 디버깅
·
ALGORITHM
02-1 디버깅은 왜 중요할까? 디버깅: 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로잡는 과정 디버깅 하는법 - 디버깅 방법 ① 코드에서 디버깅하고자 하는 줄에 중단점을 설정한다. 이때 중단점은 여러 개 설정할 수 있다. ② IDE의 디버깅 기능을 실행하면 코드를 1줄씩 실행하거나 다음 중단점까지 실행할 수 있으며, 이 과정에서 추적할 변숫값도 지정할 수 있다. 이 방법으로 변숫값이 자신이 의도한 대로 바뀌는지 파악한다. ③ 변숫값 이외에도 원하는 수식을 입력해 논리 오류를 파악할 수 있다. ex) 파이참에서는 Variables 기능 활용 02-2 디버깅 활용 사례 오류1. 변수 초기화 오류 찾아보기 오류2. 반복문에서 인덱스 범위 지정 오류 찾아보기 오류3. 잘못된 변수 사용 오류 찾아보기..
알고리즘 강의 | Do it! 알고리즘 코딩테스트 with Python - 시간복잡도
·
ALGORITHM
[무료] Do it! 알고리즘 코딩테스트 with Python - 인프런 | 강의 IT기업 코딩테스트 대비를 위한 [자료구조 및 알고리즘 핵심이론 & 관련 실전 문제 풀이 강의] 입니다. - Python 편 -, [사진] 💻 코딩테스트 알고리즘의 핵심,파이썬으로 구현하는 알고리즘을 학습 www.inflearn.com 자료구조/알고리즘을 C++로 배워서 파이썬으로 구현할 때 어려움이 있었기 때문에 위 강의를 듣고 정리해보겠삼 01-1 시간 복잡도 표기법 알아보기 시간 복잡도: 주어진 문제를 해결하기 위한 연산 횟수 시간 복잡도 유형 - Ω(n): best case의 연산 횟수를 나타낸 표기법 - θ(n): average case의 연산 횟수를 나타낸 표기법 - O(n): worst case의 연산 횟수를 ..
(2022-2) 빅분활 팀 프로젝트
·
PROJECT
기후변화에 따른 산림 면적 예측 1. 데이터 수집 산림면적 변화에 영향을 주는 요인 데이터 수집 데이터명 갱신연도 활용 목적 출처 국가 온실가스 배출량 주요 지표 2020년 1인당 온실가스 배출량 파악 국가통계포털 강수량 추이 2021년 연도별 강수량 파악 기상청 기상자료개방포털 기온 추이 2021년 연도별 기온 파악 기상청 기상자료개방포털 연도별 임상별 산림면적 및 임목축적 2020년 연도별 산림 면적 파악 산림청 산림임업통계플랫폼 산림 병해충 발생 및 방제 현황 2021년 연도별 산림병해충 피해 파악 산림청 산림임업통계플랫폼 산불피해현황 2021년 연도별 산불 피해 파악 산림청 「산불통계연보」 산사태피해현황 2021년 연도별 산사태 피해 파악 중앙재난대책본부 피해복구계획서 지진발생 빈도 2021년 연..
002 통계데이터센터 AI 활용대회
·
PROJECT
train data header 중 text_(something) 부분을 text라는 하나의 열로 합쳤다. text 열에서 불용어를 지우고 corpus를 만들어서 분석하여 digit_3 열을 정답으로 설정하여 model을 학습시키려고 함 이때 사용할 알고리즘을 정하지 못한 상태 NLP 자연어 분석 잠깐 읽어본 것이지만 NLP사용시 정답 레이블들의 데이터 개수가 비슷해야 좋다는 글을 봄 그래서 digit_1 과 digit_3의 histogram을 그려봄 정답별 개수의 차이가 큼 때문에 추가적인 데이터 전처리 과정이 필요하지 않을까 싶음 . . . 다른 자연어 처리 방법은 차차 찾아볼 예정 . . . test data train data에서 digit_1/2/3 부분만 없는 상태 지금까지 생각한 것으로는 t..