The four Fs FACTS 파이썬 문법 기초 원격 강좌 완강 자바스크립트 올인원 강좌 완강 자료구조 알고리즘 원격 강좌 수강 HTTP/HTTPS 특강 수강 FEELINGS 파이썬이나 자바스크립트 언어에 대한 기본적인 문법은 이미 어느 정도 알고 있었기 때문에 빠르게 복습하고, 알고리즘에 대한 이해를 위해 많은 시간을 쏟았다.꾸준히 알고리즘 문제 연습을 하고 있었다고 생각했는데, 아직 많이 부족함을 느꼈다. FINDINGS 시간 복잡도, 공간 복잡도, 점근 표기법 개념을 익힘 배열, 링크드리스트, 스택, 큐, 해쉬 테이블, 트리 자료구조 개념을 익힘 버블 정렬, 선택 정렬, 삽입 정렬 개념을 익힘 HTTP, HTTPS 관련 CS 지식을 익힘 FUTURE 알고리즘 공부는 단순 암기가 아닌 다양한 예제를..
문제 링크 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 풀이 from math import factorial n, k = map(int, input().split()) print(factorial(n) // (factorial(k) * factorial(n - k)) % 10007) *key point: 11050번 문제에서 나머지 계산만 추가해준다.
문제 링크 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 풀이 from math import factorial n, k = map(int, input().split()) print(factorial(n) // (factorial(k) * factorial(n - k))) *key point: math 라이브러리의 factorial 함수를 활용한다. 이항 계수는 아래의 공식으로 구해진다.
자료구조 & 알고리즘 특강 (강창민 튜터님) 스택 LIFO(Last In First Out)의 성격을 가진 선형 자료구조 반복문에서 종료 조건을 지정하지 않거나 잘못된 종료조건을 지정하여 무한 루프가 발생하면 메모리의 스택영역이 쌓이고 쌓이다 터짐 → StackOverflow 역순의 성질을 사용해야될 때 유용한 구조 대표적인 기능: 픽(peek), 푸시(push), 팝(pop) 큐 FIFO(First In First Out)의 성격을 가진 선형 자료구조 대표적인 기능: 픽(peek), 삽입(enqueue), 뽑기(dequeue) 버블 정렬 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (n-1)번째 자료와 n번째 자료를 비교하여 교환하면서 자료..
문제 링크 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 풀이 t = int(input()) for _ in range(t): a, b = map(int, input().split()) result = a * b while b > 0: a, b = b, a % b print(result // a) *key point: 두 수의 곱을 유클리드 호제법으로 구한 최대공약수로 나누어 준다.
문제 링크 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 풀이 while 1: a, b = map(int, input().split()) if a == 0 and b == 0: break if b % a == 0: print('factor') elif a % b == 0: print('multiple') else: print('neither') *key point: 두 수를 서로 나누어 나머지가 0인 경우에 따라 case를 나누어 주면 된다.
자료구조 & 알고리즘 특강 (강창민 튜터님) 시간복잡도 시간 복잡도는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. 컴퓨터과학에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. (출처: 위키피디아) 프로그램의 수행 성능을 최악의 경우를 가정하여 정량화하는 방법으로 고안한 알고리즘이 정말로 유용한지 판단하는 좋은 기준이 된다. Big-O(빅오) 표기법으로 표시(ex O(1), O(N), O(N²))하며, N의 지수부분만이 유효하게 쓰이고 나머지(계수와 상수)는 절삭한다. 공간복잡도 문제를 해결하는데에 대한 공간과의 상관관계를 가리킨다. 최적화가 덜 되어있다고 해도 당장은 프로그램을 돌리는 컴퓨팅 리소스의 성능을 올리면 해결..
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(s): return s.lower().count('p') == s.lower().count('y') *key point: 문자열내 모든 알파펫을 소문자로 만드는 메서드 .lower()를 활용한다. 비교연산의 결과로 bool 타입이 바로 얻어지므로 코드를 아주 간결하게 짤 수 있다.
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(n): if n ** 0.5 % 1 == 0: return (n ** 0.5 + 1) ** 2 else: return -1 *key point: 1로 나눈 나머지가 0이면 양의 정수라고 할 수 있다.
- Total
- Today
- Yesterday
- 항해 플러스
- 25501
- Programmers
- programmer
- 백준
- Python
- 25192
- til
- MySQL
- 10807
- 2738
- 24313
- 20920
- 항해+
- 13241
- 2903
- 4134
- 벡준
- 코육대
- 1269
- 5597
- 2587
- 13909
- 17103
- Wil
- 24723
- 26069
- 24060
- SQL
- 2053
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |