Hoonni
'Algorithm' 카테고리의 글 목록 (2 Page)

Algorithm

Algorithm/Baekjoon

백준 1057번 - 토너먼트(Node.js)

백준 1057번 - 토너먼트(Node.js)https://www.acmicpc.net/problem/1057 1057번: 토너먼트김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를www.acmicpc.net 알고리즘 분류 : 수학  브루트포스 알고리즘  나의 풀이제출시 결과는 맞았습니다!!이 문제의 로직은 아래와 같다.따라서, 위의 로직에 따라 계속해서 지민과 한수의 번호를 각각 2로 나눠주고 반올림을 할때마다 count 값을 증가시켜주고, 만약, 지민과 한수의 번호를 각각 2로 나눠주고 반올림을 했을 때, 둘의 값이 같아지면 그 때의 count 값이 정답이 된다.  ..

Algorithm/Baekjoon

백준 11047번 - 동전 0(Node.js)

백준 11047번 - 동전 0(Node.js)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 가장 쉬운 그리디(Greedy : 욕심쟁이) 알고리즘을 이용하는 문제이다.  첫 번째 나의 풀이제출시 결과는 틀렸습니다20번째 줄 : haveCoins는 동전의 가치를 의미한다.29번째 줄 : 동전의 가치가 큰 것부터 탐색하기 위해 for문에서 i를 N - 1부터 설정하였다.30 ~ 43번째 ..

Algorithm/Baekjoon

백준 10773번 - 제로(Node.js)

백준 10773번 - 제로(Node.js)https://www.acmicpc.net/problem/10773 10773번: 제로첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경www.acmicpc.net   나의 풀이13번째 줄 : K는 입력의 제일 첫번 째 입력을 의미한다.21 ~ 23번째 줄 : Ks는 입력의 첫번 째 입력을 제외한 나머지 K개 만큼의 입력을 의미한다.25 ~ 31번째 줄 : for문을 사용하여 Ks[i] 값이 0이 아니면 answer라는 배열에 그 값을 담아두고, 0이라면 answer 배열에 담긴 값을 뒤..

Algorithm/Baekjoon

물건을 쪼갤 수 없는 배낭 문제(0/1 Knapsack Problem)

0/1 Knapsack Problem다이나믹 프로그래밍(Dynamic Programming : DP)을 활용하여 해결할 수 있다..DP는 큰 문제를 작은 문제로 쪼개서 해결한다.DP는 Devide-and-Conquer라는 원리에 기반을 두고 있으며, 이전에 계산해둔 값을 메모리(배열 등)에 저장해서 반복 작업을 줄이는 기법(Memoization)이 핵심이다.  예시가방에 담을 수 있는 물건의 무게와 가치가 아래의 표와 같이 있다고 가정하자.물건1234무게6435가치138612  ① 2차원 배열을 만드는데, 이 때, (i + 1)(j + 1) 크기의 배열을 만들고 0으로 초기화한다. 이 때, 행 i는 물건 i(0 ~ 4)까지 넣을 수 있을 때를 의미하고, 열 j(0 ~ 7)는 가방의 최대 무게를 의미한다...

Algorithm/Baekjoon

백준 12865번 - 평범한 배낭(Node.js)

백준 12865번 - 평범한 배낭(Node.js)https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000)www.acmicpc.net   첫 번째 나의 풀이제출시 결과는 틀렸습니다.간단하게 이 코드에 대해 설명하자면, 이중 for문을 사용하여 모든 가치 or 가치의 합의 최댓값의 경우의 수를 worthArr이라는 배열에 넣어주고, worthArr의 값 중 최댓값을 답으로 설정하여 풀었다.하지만, 이 방법에는 생각해보니 ..

Algorithm/Baekjoon

백준 2357번 - 최솟값과 최댓값(Node.js)

백준 2357번 - 최솟값과 최댓값(Node.js)https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100www.acmicpc.net   첫 번째 나의 풀이제출시 런타임에러(TypeError) 발생TypeError가 발생하여 Type을 계속해서 바꿔주었지만, 끝내 이 방법으로는 해결하지 못했다. + 입력을 이런 방법으로 받는건지도 아직 잘 모르겠다. (거의 2일 동안 fs 모듈 사용해서 입력 받는 방법을 공부했음에도 ..)  두 번째 나의 풀이제..