Time complexity(시간복잡도)시간복잡도란 어떠한 크기의 입력값 n에 대해 알고리즘을 수행하는 동안 (시간) 몇 번의 연산을 실행했는지를 점근 표기법을 이용해 나타낸것이다. 예를 들어 1부터 n(100)까지의 합을 구하는 프로그램을 작성해본다면#include int main() { int n , result =0; scanf("%d",&n); for (int i = 1;ifor문을 사용해 result에 1부터 100까지의 값을 넣는 방법과#include int main() { int n , result =0; scanf("%d",&n); result = n*(n+1)/2; printf("%d",result); return 0;}1부터 n까지 자연수들의 ..
전체 글
Brain = NULLWhat is Algorithm?알고리즘(Algorithm)이란 무엇인가?알고리즘이란 어떤 문제를 해결하는 방식이라는 뜻이다.간단히 우리 일상속에서 알고리즘이 사용되는 예시를 살펴보자면 대표적으로 길찾기 (내비게이션)이 있다. 우리집에서 학교까지 가는 경로는 무수히 많을 것이다. 하지만 무수히 많은 경로중 우리는학교까지 가장 빠르게 갈 수 있는 경로로 가야한다.이때 최단 경로 알고리즘을 사용하면 단 몇초만에 해답을 얻을 수 있다. Study plan알고리즘 공부 목차는 크게 시간복잡도,정렬 ,완전탐색 , 정수론분할정복,이분탐색 ,스택,큐,우선순위 큐그래프,BFS,DFS,위상정렬동적 프로그래밍 ,그리디 순으로 공부해보려고 한다. (순서는 조금씩 바뀔 수도 있음)
보호되어 있는 글입니다.
보호되어 있는 글입니다.
문제- https://www.acmicpc.net/problem/1141풀이 & 코드import sys input = sys.stdin.readline#sys.stdin.readline을 사용해 속도 저하로 인한 시간 초과 방지n = int(input())str = [(input()).rstrip() for _ in range(n)]#rstrip : 문자열에 오른쪽 공백이나 인자가된 문자열의 모든 조합 제거str.sort(key=len)#다른 단어의 접두사가 되는 단어는 다른단어보다 크기가 작거나 같음#문자열의 길이가 짧은 순서대로 정렬, 자기 위치보다 뒤에있는 단어와 비교res = 0#for문으로 단어 checkfor i in range(n): flag = False #현재 단어보다 길이가 ..
현재 본인은 집에 데스크탑 한대와 맥북 프로 한대를 운용하고 있음아무래도 AI쪽에 관심이 있다보니 로컬환경에서 학습돌릴 일이 있는데문제는 GPGPU 가속을 지원하는 그래픽카드는 데스크탑에 있다보니 외부에서는 사용할 수가 없다.때문에 RDP와 WOL이 절실히 필요했다. WOL은 (Wake-on-LAN)을 뜻한다. 간단하게 원리 설명하자면일반적인 데스크탑에 장착되어있는 유선 LAN 카드는 컴퓨터가 완전히 종료된 상태에서도 대기전력을 사용하여특정 신호를 감지하고 있다. 이때 메인보드 BIOS에서 WOL을 활성화 해준 컴퓨터는 전원이 꺼진 동안에 Magic Packet 도착하기를 기다린다. 매직 패킷은 16진수 FF FF FF FF FF FF 뒤에 해당 컴퓨터의 MAC ADDRESS를 16번 나열한 102Byt..
보호되어 있는 글입니다.
문제- https://www.acmicpc.net/problem/11047풀이입력으로 들어온 동전들을 사용하여 K원을 만드는데 필요한 동전 개수의 최솟값을 출력하는 것이 목적이다 최적의 해를 구하기 위해선 가장 큰 화폐단위부터 거슬러주면 된다. n원을 거슬러줘야할 때 가장 큰 금액으로 거슬러 줄 수 있을만큼 거슬러 주고, 그 다음으로 큰 숫자만큼 거슬러주면 된다코드def solve(k): cnt = 0 for i in coin: if k >= i: cnt += k//i k %= i if k