백준
1260_bfs와dfs
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS와 BFS를 확인할 수 있는 좋은 문제이다. 나도 이 문제를 풀면서 오랜만에 다시 공부했던 것 같다. 이번에는 문제를 접하자마자 그냥 풀기보다는 알고리즘 공부를 하고 좀더 효율적으로 풀자 해서 이곳저곳에서 정보를 조금 찾아보고 공부를 했다. import sys from collections import deque input=sys.stdin.readlin..
2629_양팔저울(파이썬,쉬운풀이)
https://www.acmicpc.net/problem/2629 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net 처음에 문제를 보고 조금 고민을 하다가, 추를 한개씩 추가해주면서 구할수 있는 무게를 담은 리스트를 만들면 되지 않을까? 라는 생각을 했다. 원래 있던 리스트에 새로 들어온 추를 더하거나, 빼준 값을 추가해주면 쉽게 구할 것 같았다. 1 -> [ 0 , 1] 1 ,4 -> [ 0 , 1 , (0+4), (0-4) , (1 + 4 ) , (1 - 4) ] 이때 -값은 절대값을 취해주고, 중복되는 값을..
03_다중 퍼셉트론 MLP,인공신경망
ANN(인공신경망) 실제 딥러닝 알고리즘에서 사용되는 기법중 하나이다. 해당 기법은 생물학적 신경망에서 아이디어를 얻었는데, 인간의 뇌가 여러개의 신경세포끼리 연결되어 있고, 이들이 병렬적으로 연산을 진행하는것이 발견되어 이에서 아이디어를 따왔다. 보통 인간의 뇌속에는 10^14개의 뉴런과 뉴런이 연결되어 있다! 즉, 쉽게 말하면 인간의 뇌 자체가 하나의 엄청난 병렬 처리 연산기라고 볼 수 있다. 하지만 컴퓨터는 메모리에서 값을 불러와 CPU에서 순차적으로 연산하는 순차처리 연산기이다. 물론, 컴퓨터는 하나의 연산을 처리하는 속도가 빠르지만, 물체인식,음성인식등 인지활동을 잘 못하는 단점이 있다. 이로인해 컴퓨터도 인간처럼 병렬처리를 하게 된다면?? 이란 생각에서 시작되었다. 퍼셉트론 인공신경만의 개념은..
1520_내리막길
문제는 더보기! 더보기 내리막 길 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 50394 13879 9909 28.147% 문제 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와..
11049_행렬 곱셈 순서 (파이썬,설명)
문제는 더보기! 더보기 행렬 곱셈 순서 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 18328 8414 5997 44.439% 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경우를 생각해보자. AB를 먼저 곱하고 C를 곱하는 경우 (AB)C에 필요한 곱셈 연산의 수는 5×3×2 + 5×2×6 = 30 + 60 = 90번이다. BC를 먼저 곱하고 A를 곱하는 경우 A(BC)에 필요한 곱셈 연산의 수는 3×2×6 + 5×3×6..
11066_파일 합치기 ( 파이썬, 설명위주 )
문제는 더보기! 더보기 파일 합치기 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 19747 10258 6725 50.724% 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일을 만든다. 이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고, 이 임시파일이나 원래의 파일을 계속 두 개씩 합쳐서 소설의 여러 장들이 연속이 되도록 파일을 합쳐나가고, 최종적으로는 하나의 파일로 합친다. 두 개의 파일을 합칠 때 필요한 비용(시간 등)이 두 파일 크기의 합이라고 가정할 때, 최종적인 한 개의 파일을 완..