분류 전체보기
[모두를 위한 딥러닝] 01_Machine Learning Basics
모두를 위한 딥러닝 강좌 시즌 1 by Sung Kim, 김성훈 교수님 링크 https://www.youtube.com/watch?v=qPMeuL2LIqY&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm https://www.youtube.com/watch?v=-57Ne86Ia8w&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=3 01. Machine Learning 용어와 개념 설명 머신러닝이란? 반응형 프로그램의 한계를 극복하기 위함. ex) 스팸메일의 구분을 위해 일일히 케이스를 분류하기 어려움. 개발자가 케이스를 지정해주는 것이 아닌 프로그램 자체가 학습하는 영역을 갖는 프로그램 학습방법에 따라 Supervised learning : tr..
[이코테 자료구조] 2. 그리디 알고리즘 & 구현
그리디 알고리즘 by 나동빈님 링크 : https://www.youtube.com/watch?v=2zjoKjt97vQ 그리디 알고리즘(탐욕법) : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 풀이의 정당성 분석이 중요 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다 많은 코딩 테스트에서 제시되는 문제 유형 중 하나 ※ 예시 문제 : [거스름 돈, 곱하기 혹은 더하기, 모험가 길드] 최적의 해를 빠르기 구하기 위해 가장 큰 화폐 단위부터 돈을 거슬러 주면 된다 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적..
[백준 파이썬] # 11047 동전 0
Silver II # 11047 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 풀이 N, K = map(int, input().split()) count = 0 coin = [] for i in range(N): A = int(input()) coin.append(A) coin = sorted(coin, reverse=True) for i in coin: count +=..
[이코테 자료구조] 6. 다이나믹 프로그래밍
다이나믹 프로그래밍 by 나동빈님 링크 : https://www.youtube.com/watch?v=5Lu34WIx2Us&t=144s 메모리를 적절히 사용해서 수행 시간 효율성을 비약적으로 향상시키는 방법 이미 계산된 결과를 별도의 메모리 영역에 저장하여 다시 계산하는 것을 방지 두 가지 방식(탑다운, 바텀업)으로 구성 동적 계획법이라고도 부른다 다이나믹 프로그래밍의 '다이나믹'은 큰 의미 없이 사용된 단어 조건 문제가 다음의 조건을 만족 할 때 사용할 수 있다 최적 부분 구조 : 큰 문제를 작은 문제로 나눌 수 있고, 작은 문제의 답을 모아 큰 문제를 해결할 수 있을 때 중복되는 부분 문제 : 동일한 작은 문제를 반복적으로 해결해야 할 때 피보나치 수열의 모든 가능성을 계산하려면 굉장히 많은 연산과정을..
[특강] 2021 전주 ICT 이노베이션 스퀘어 명사 특강_블록체인
2021 전주 ICT 이노베이션 스퀘어 명사 특강 1부 : 블록체인 by 동국대 블록체인 연구센터 박성준 교수님 블록체인 컴퓨터, 네트워크, 프로그램, SW 등의 지식이 필요 블록체인으로 인해 변화될 생태계를 이해하고 준비, 활용해야 한다 블록체크 자체의 이해보다도 블록체인을 통해 무엇을 할 수 있는지 생각해 보아야 한다 - part A : 블록체인/암호화폐/암호경제 블록체인이란 학술적인 정의 : 글로벌 신뢰 컴퓨터 제 3의 신뢰기관 중앙집중방식에서 벗어난, 신뢰 중재자의 개입 없이도 신뢰성을 확보하는 모델 (P2P 방식) 비트코인의 한계 비트 코인 기술만으로는 P2P 방식으로 전환하는데 문제가 있다 (튜링 불완전성) 튜링 불완전성을 해결하기 위해 이더리움이 발명 (프로그래밍 가능) 이더리움 = 글로벌 ..
블록체인 원리에 대한 간단한 설명과 예시
블록체인 스터디 중에 블록체인에 대한 이야기가 나왔다. '블록체인이 뭐지?'라는 물음에 쉽게 이해할 수 있도록 설명해주었던 예시가 있어서 기록해본다. 블록체인의 기본 원리 예시 어느 그룹에 A, B, C, D가 있다. 이들은 현금 사용 기록을 공유하는 관계에 있다 A가 식비 8천 원을 지출 했을 경우, A는 개인 장부에 -8천 원을 기록한다 이때 B, C, D 또한 A가 8천 원을 사용한 내역을 각자의 장부에 기록한다 약속된 날에 A, B, C, D는 모여 각자의 장부를 다른 사람들과 비교한다 일부 내역에 오류나 누락이 있는 경우에 더 많은 사람들이 기록한 내용을 따르는 것으로 합의한다 오류가 발생했을 때 C는 A가 지출한 금액을 잘못 알아들어 6천 원을 지출했다고 장부에 기록했다 약속된 날에 모여 장부..
[백준 파이썬] 소수 문제 유형 정복하기
파이썬 소수문제 정복하기 한 주간 알고리즘 스터디를 진행하면서 소수 문제를 다루었다. 소수가 사용되는 유형을 정리해두면 도움이 될 것 같아서 정리해보았다. 설명하기 쉬운 코드를 위해 유투브 영상을 일부 참고하였다. 성능 비교를 위해서 time을 측정하였고, input에는 동일하게 5를 넣어 비교해보았다. 소수 여부 판별 # chapter 1 # n이 소수인지 아닌지 판별_약수의 개수를 check 하여 판별 n = int(input()) check = 0 for i in range(1, n+1): # n+1 : n까지 포함하기 위해 ; range 범위의 특성 if n%i == 0: check += 1 if check == 2: print('소수') else: print('소수가 아닌 수') # 5 # 소수..
[백준 파이썬] 에라토스테네스의 체
에라토스테네스의 체 스터디를 통해 이해했던 내용을 바탕으로 정리해보았다. 수학적으로 정확하게 풀어냈다기 보단 스스로 이해한 바를 정리한 것으로 참고만 하길 바란다. 합성수 여부 판단 에라스토테네스의 체를 통해 소수와 합성수 여부를 판단할 수 있다. ※ '소수 2개의 곱를 이용해서 합성수를 만들 수 있다' 는 가정에서 시작한다. N = 6일 때(N>1), 6은 합성수에 해당한다. 합성수는 2개의 숫자 곱으로 표현할 수 있다. 이때 작은 수를 K, 큰 수를 L로 둔다. ex) 6 = 2 * 3 $$ 1
SSAFY 7기 모집 설명회
SSAFY Samsung SW Academy For Youth 삼성 주관, 고용노동부 후원 교육과정 현장에 즉시 투입 가능한 SW 개발자 양성 1학기 2학기 설명 BootCamp형 단기 집중 학습 + 전자 APS 노하우 적용 에꼴 42형 자기주도학습 + JTP 컨설턴트 활용한 고도화 목표 기초코딩역량 갖춘 신입 SW개발자 양성 PJT기반의 자기주도형 학습을 통한 실전형 SW개발자 양성 내용 * SW 필수 지식과 알고리즘 중심의 몰입형 코딩 교육 * 수준별 분반 운영 * 몰입을 위한 Gamification 적용 * 관심 주제별 자기주도형 PJT 수행 * 실무 환경과 동일한 요구명세서 기반의 협업 PJT 방식 교육내용 - 기본교육 Python, JAVA, Embedded, Mobile - 심화교육 공통..
[백준 파이썬] #11729 하노이 탑 이동 순서
Silver II # 11729 하노이 탑 이동 순서 11729번: 하노이 탑 이동 순서 (acmicpc.net) 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 구글링을 통해 답을 확인하고 해석하였다. def hanoi_tower(n, start, by, end): if n == 1: print(start, end) return # 1개의 블럭일 때 start에서 end로 이동 hanoi_tower(n-1, start, end, by) # n-1개의 블럭을 start에서 by로 이동 print(s..