목록소프트웨어 (41)
julia coding story
[TRY 1] 5%에서 틀렸다 나옴 -> 아직도 왜 인지 몰라서 clude한테 물어봄from collections import dequeimport sysdef dfs(v, connection, visited): visited[v] = True print(v, end = ' ') con = [] for i in range(M): # print(connection[i][0], end = " ") # print(visited[connection[i][0]]) # print(v, end = "/ ") # print( connection[i][1], end = " ") # print(visited[connection[i]..
💡 머신러닝(Machine Learning) : Definition (from Wiki) “A Computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.” 머신러닝이란, 경험 E를 통해서 주어진 T에 대해 P로 측정한 값이 향상되는 프로그램 우리가 공부한 것과 비슷함. 특정 과목 기말고사에서 주어진 족보를 풀어 기말고사 점수가 향상되는 과정을 학습이라고 함. 이 과정을 수학적으로 주어진 입력(X)와 찾으려는 값(y) ..
백준 1966번 - 프린터 큐 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net ▶ 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 ..

백준 18566번 - 요세푸스 문제 0 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net ▶문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. ▶입력 첫째..

백준 15828번 15828번: Router 인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에 www.acmicpc.net ▶문제 인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에 파일을 전송해달라는 요청을 보내고 파일을 받는 식으로 말이다. 우리가 보낸 요청은 어떻게 목적지까지 도달하는 것일까? 컴퓨터에서는 패킷이라고 하는 형태로 정보를 주고 받는다. 네트워크의 유저들은 1:1로 연결되어 있지 않으므로, 일반적으로 패킷은 라우터라는..

백준 2164번 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net ▶ 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓..

백준 18258번 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net ▶ 결과 정리 - 파이썬으로 풀었더니 시간초과가 관건이다. - 처음에는 list로 받아서 했는데 시간 초과 나서 찾아보니, 파이썬은 deque가 훨씬 빠르다고 해서 deque를 사용하였다. ▶ 1차 시도 -> 시간초과 N = int(input()) list = [] for i in range(N): t = input() list.append(t) result = [] for i in range(N): if "push" i..

미분 ▶ 나쁜 구현 예시 def numerical_diff(f,x): h = 1e-50 return(f(x+h)-f(x))/h - 개선점 1) h에다가 작은 값을 넣으려고 h = 1e-50로 설정하였는데, 여기에서 반올림 오차(rounding error)발생함 -> 1e-4정도로 이용 2) 미분은 (x + h)와 x 사이의 기울기에 해당함, 엄밀히는 일치하지 않음, 이는 h를 무한히 0으로 좁히는 것이 불가능해 새익는 한계임 -> 중심(중앙) 차분을 계산함 ▶ 개선한 코드 def numerical_diff(f,x): h = 1e-4 return(f(x+h)-f(x-h))/ 2*h 수치미분 - 수치 미분 : 아주 작은 차분으로 미분하는 것 - 해석적 : 수식을 전개해 미분하근 것 ▶ 수치 미분 예시 # c..