# baekjooon

백준 1874[스택 수열]
1. 문제분석 및 접근법 > - 스택에 1부터 n까지 오름차순으로 하나씩 들어감 > - n개의 숫자를 넣을 리스트 생성 > - 리스트의 첫번째 숫자랑 동일해질 때까지 1부터 스택에 넣음 > - 넣을때마다 + 출력 > - 동일해지면 pop, > - pop할 때는 - 출력 > - 그리고 다시 쌓기 > - 반복하다가 pop을 하고 나서 바로 밑에 있는 데이터가 내가 필요한 수보다 크면 NO 2. 슈도코드 대실패 재시도 틀렷을때 NO만 출력하게 해야함 -> +,-를 저장해놧다가 한 번에 출력, if문으로 NO출력하면 저장해놓은 결과 출력안되도록 3. 코드 구현

DynamicProgramming_1_20_쉬운 계단 수(10844)
DynamicProgramming120_쉬운 계단 수(10844) 문제 > 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 입력 >첫째 줄에 포도주 잔의 개수 n이 주어진다. (1 ≤ n ≤ 10,000) 둘째 줄부터 n+1번째 줄까지 포도주 잔에 들어있는 포도주의 양이 순서대로 주어진다. 포도주의 양은 1,000 이하의 음이 아닌 정수이다. 출력 > 첫째 줄에 최대로 마실 수 있는 포도주의 양을 출력한다. 풀이 > 해당 위치의 대각선 위 위치의 숫자들의 합인걸 알 수 있다. 당연한 소리다. 3이
백준 Baekjoon 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 - JAVA
https://www.acmicpc.net/problem/24262 >문제 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시간을 예제 출력과 같은 방식으로 출력해보자. MenOfPassion 알고리즘은 다음과 같다. MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # 코드1 } >입력 첫째 줄에 입력의 크기 n(1 ≤ n ≤ 500,000)이 주어진다. >출력 첫째 줄에 코드1 의 수행 횟수를 출력한다. 둘째 줄에 알고리즘의 수행 시간이 상수 시간이 소요되면 0, n에 비례하면 1, n2에 비례하면 2, n3에 비례하면 3, n3보다 큰 시간에 비례하면 4를 출력한다. >예제 입력 1 예제 출력 1 설명
[BOJ] 13424번 : 비밀 모임(C++)
문제 링크 : 백준 13424번 [문제 접근] 한 정점에서 모든 정점까지의 거리를 구해야하고 음수 가중치는 없기 때문에 전형적인 다익스트라 문제이다. 한 명의 친구당 다익스트라를 한 번씩 해주면 된다. 우선순위 큐를 가중치가 작은 순으로 설정하고 다익스트라 탐색을 한다. 전부 탐색이 끝나면 ans라는 배열에 각 정점까지의 최소 거리인 dist배열을 더해주고 다른 친구도 똑같이 해준다. 이렇게 되면 ans 배열에 모든 친구들의 최소 거리 합이 들어있게 되므로 그 중 최소 값을 정답으로 출력하면 된다. [소스 코드]