programmers.co.kr/learn/courses/30/lessons/72411# 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 프로그래머스에 오랜만에 새로운 문제가 업데이트됬다. - 접근법 주어지는 배열의 크기만 봐도 짐작이 가듯이 브루트포스로 간단히 풀리는 문제이다. 손님들이 주문한 코스 메뉴들의 2개이상 모두 조합하여 자료구조에 저장하고 카운팅한다. 그렇게 저장된 자료구조에서 다시 저장된 코스들의 길이(=course배열), 그리고 카운팅된 숫자(>=2)를 뽑아, 각 코스들의 길이에서 카운팅된 숫자..

[Day 07] 경사하강법 1. 강의 복습 내용 더보기 경사하강법 1. 미분 - 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에 제일 많이 사용하는 기법 import sympy as sym from sympy.abc import x sym.diff(sym.poly(x**2+2*x+3),x) #Poly(2*x+2,x,domain='ZZ') - 한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가/감소하는지 알 수 있다. - 미분값을 빼면 경사하강법(Gradient descent)이라 하며 함수의 극소값의 위치를 구할 때 사용한다. - 미분값을 더하면 경사상승법(Gradient ascent)이라 하며 함수의 극대값의 위치를 구할 때 사용한다. - 이렇듯, 경사하강/상..

[Day 06] Numpy / 벡터 / 행렬 1. 강의 복습 내용 더보기 Numpy - Numpy는 파이썬으로 진행되는 모든 데이터 분석과 인공지능 학습에 있어 가장 필수적으로 이해해야 하는 도구 - Numpy는 Numerical Python의 약자로 일반적으로 과학계산에서 많이 사용하는 선형대수의 계산식을 파이썬으로 구현할 수 있도록 도와주는 라이브러리 1. Numpy 사용해보기 import numpy as np test_array=np.array([1,2,3,4],float) Numpy는 변수선언을 꼭 해줘야한다. C기반으로 작성되있기 때문에 동적타이핑 언어를 지원하지 않는다. a=[[1,2,3],[4,5,6],[4,5,6]] print(np.array(a).shape) # (3,3) a=[1,2,3..
www.acmicpc.net/problem/9997 9997번: 폰트 첫째 줄에 단어의 개수 N (1 ≤ N ≤ 25)가 주어진다. 다음 N개 줄에는 사전에 포함되어있는 단어가 주어진다. 단어의 길이는 100을 넘지 않으며, 중복되는 단어는 주어지지 않는다. www.acmicpc.net - 접근법 N이 25이므로 브루트포스로 모든 단어를 조합해도 O(2^25)로 가능하다. 그러나 탐색과 연산횟수도 합해진다면 O(2^25*alpha)로 TLE가 날수있으므로 가지치기를 잘해줘야한다. 사실 이 문제는 비트마스킹으로 해당 알파벳이 존재하면 TRUE, 안하면 FALSE같이 저장해서 간단히 비트연산으로 알파벳 26개 다 존재하는지 볼 수 있다. 하지만 나는 당시에 파이썬으로 비트마스킹하는법을 몰라서 처음에 단어들을..
www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net - 접근법 행렬 제곱 문제이다. 직접 행렬 계산하는 방식으로 분할 정복 개념을 추가해 제곱하는 횟수를 logM (M=제곱횟수)만으로 행렬의 M제곱을 얻으면 된다. https://greeksharifa.github.io/algorithm%20&%20data%20structure/2018/07/04/algorithm-matrix-power/#%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 위의 게시글에 굉장히 ..
www.acmicpc.net/problem/1501 1501번: 영어 읽기 첫째 줄에 사전에 있는 단어들의 개수 N(0 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄에 하나씩, 영어 사전에 있는 단어들이 주어진다. 각 단어의 길이는 100자를 넘지 않는다. 다음 줄에 www.acmicpc.net - 접근법 주의) 이 문제에서 N개의 단어가 주어지고 M개의 해석할 '문장'이 주어진다. abcde와 같은 단어는, abcde, abdce, acbde, acdbe, adbce, adcbe 같은 단어들로 해석될 수도 있다. 결국 문자의 첫 글자, 마지막 글자가 같고 이것을 제외한 문자들의 존재 빈도가 같으면 같은 단어로 해석될 수 있다. 이 문제는 단어가 10000개, 그리고 길이가 100자까지..
www.acmicpc.net/problem/6581 6581번: HTML 원래의 HTML 문서가 입력으로 주어진다. 이 텍스트는 단어와 HTML 태그들로 이루어져 있으며, 태그는 한 개 이상의 공백문자나 탭, 개행 문자 등으로 구분된다. 단어는 연속된 알파벳, 숫자, 또는 www.acmicpc.net - 접근법 입력 받는 부분이 제일 까다로웠던 간단한 문자열 구현문제. 입력의 끝은 개행문자가 아닌 Ctrl+D로 끝난다. 전체 문자를 받고, 그것들을 단어별로 나누고 연속된 공백은 한개의 공백으로 처리하여 리스트에 저장한다. 그 후 리스트 요소들을 순차적으로 탐색하면서 태그를 만나면 즉시 태그에 해당하는 출력을 갱신하고, 단어들이라면 단어들을 연결시켜주면서 담겨있는 문장의 길이가 80이 넘으면, 넘기전으로 ..
programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr - 접근법 후보키의 성질은 다음과 같다. 유일성(uniqueness) : 릴레이션에 있는 모든 튜플에 대해 유일하게 식별되어야 한다. 최소성(minimality) : 유일성을 가진 키를 구성하는 속성(Attribute) 중 하나라도 제외하는 경우 유일성이..
- Total
- Today
- Yesterday
- C++
- NLP 구현
- Unet
- DACON
- 브루트포스
- Vision AI 경진대회
- 데이터연습
- 동적계획법
- AI 프로젝트
- ResNet
- Unet 구현
- 다이나믹프로그래밍
- 코딩테스트
- Data Handling
- 그리디
- cnn
- 백트래킹
- P-Stage
- dfs
- 네트워킹데이
- 부스트캠프 AI Tech
- 데이터핸들링
- 백준
- DeepLearning
- 공공데이터
- python
- 프로그래머스
- pandas
- 이분탐색
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |