본문 바로가기

node.js19

[node.js,백준]11054 - 가장 긴 바이토닉 부분 수열 목차 문제링크https://www.acmicpc.net/problem/11054문제수열 S가 어떤 수 Sk를 기준으로 S1  Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다.예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만,  {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다.수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오.입력 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N.. 2024. 5. 10.
[node.js,백준]11722 - 가장 긴 감소하는 부분수열 목차   문제링크https://www.acmicpc.net/problem/11722문제수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10}  이고, 길이는 3이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 출력첫째 줄에 수열 A의 가장 긴 감소하는 부분 수열의 길이를 출력한다. 주저리가장 긴 감소하는 부분수열의 길이를 구하는 문제일단 자기자신이 포함되므로 길이는 1로 시작그리고 자기보다 앞의 수들을 비.. 2024. 5. 10.
[node.js,백준]15988 - 1,2,3 더하기 3 목차 문제링크https://www.acmicpc.net/problem/15988문제정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오.입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 1,000,000보다 작거나 같다.  출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.  주저리 이전 1,2,3더하기 문제는 아래 함수로 .. 2024. 5. 9.
[node.js,백준]1932 - 정수 삼각형 목차   문제링크https://www.acmicpc.net/problem/1932문제 7 3 8 8 1 0 2 7 4 44 5 2 6 5위 그림은 크기가 5인 정수 삼각형의 한 모습이다.맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. 입력 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지.. 2024. 5. 9.
[node.js,백준]2156 - 포도주 시식 목차   문제링크https://www.acmicpc.net/problem/2156문제효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다.포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다.연속으로 놓여 있는 3잔을 모두 마실 수는 없다.효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하고 있다. 1부터 n까지의 번호가 붙어 있는 n개의 포도주 잔이 순서대로 테이블 위에 놓여 있고, 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때, 효주를 도와 가장 많.. 2024. 5. 9.
알고리즘의 브루트포스(Brute Force): 모든 경우를 탐색하는 간단한 방법 안녕하세요! goodchuck 입니다!블로그에 방문해주셔서 감사합니다!   브루트포스의 개념 브루트포스(Brute Force)는 모든 가능한 경우를 일일이 탐색하여 원하는 결과를 얻는 알고리즘입니다. 이 방법은 간단하지만, 경우의 수가 많을 경우에는 효율적이지 않을 수 있습니다. 하지만 경우의 수가 적거나 작은 경우에는 쉽게 구현할 수 있고, 올바른 답을 보장합니다.  브루트포스의 동작 원리 브루트포스는 다음과 같은 과정을 거쳐서 동작합니다:1. 가능한 모든 경우의 수를 생성합니다.2. 각 경우의 수에 대해 조건을 확인하여 올바른 답을 찾습니다.  브루트포스의 장단점 **장점:**- 구현이 간단하고 직관적입니다.- 모든 가능한 경우를 탐색하므로 정확한 결과를 얻을 수 있습니다. **단점:**- 경우의 수.. 2024. 5. 6.
알고리즘의 BFS(Breadth-First Search): 그래프 탐색의 기본 안녕하세요! goodchuck 입니다!블로그에 방문해주셔서 감사합니다! BFS의 등장 배경 BFS(Breadth-First Search)는 그래프를 탐색하는 알고리즘 중 하나로, 너비를 우선하여 탐색하는 방법입니다. 이 알고리즘은 최단 경로를 찾거나 네트워크에서 연결된 모든 노드를 탐색하는 등 다양한 문제를 해결하는 데 사용됩니다. 예를 들어, 소셜 네트워크에서 특정 사용자와 다른 모든 사용자 간의 관계를 찾거나, 게임 개발에서 유닛의 이동 경로를 계산하는 등의 문제를 해결할 때 BFS가 유용하게 사용됩니다.  BFS의 개념 BFS는 다음과 같은 과정을 거쳐서 동작합니다:1. 시작 노드를 큐(Queue)에 넣고, 이 노드를 방문한 것으로 표시합니다.2. 큐에서 노드를 꺼내어 방문합니다.3. 방문한 노드와.. 2024. 5. 6.
알고리즘의 Deque: 양쪽 끝에서 삽입 및 삭제가 가능한 자료구조 안녕하세요! goodchuck 입니다!블로그에 방문해주셔서 감사합니다!  Deque의 개념 Deque(덱)는 양쪽 끝에서 삽입 및 삭제가 가능한 자료구조로, Double-ended Queue의 줄임말입니다. Deque는 스택과 큐를 합친 자료구조로, 스택의 후입선출(LIFO, Last-In-First-Out)과 큐의 선입선출(FIFO, First-In-First-Out)을 모두 지원합니다.  Deque의 등장 이유 Deque는 다음과 같은 상황에서 사용됩니다:- 덱블록: 컴퓨터의 파일 시스템에서 데이터를 저장하는 데 사용되는 블록의 한 유형으로, 양쪽 끝에서 데이터를 추가하거나 제거할 수 있습니다.- 실시간 데이터 처리: 데이터를 수집하고 처리하는 동안 양쪽 끝에서 삽입 및 삭제를 효율적으로 수행해야 할.. 2024. 5. 6.
알고리즘의 Queue: 데이터 구조의 중요한 부분 안녕하세요! goodchuck 입니다!블로그에 방문해주셔서 감사합니다!  Queue의 개념 Queue(큐)는 선입선출(FIFO, First-In-First-Out) 원칙에 따라 동작하는 데이터 구조입니다. 가장 먼저 삽입된 항목이 가장 먼저 삭제됩니다. 이는 은행의 대기열이나 티켓 카운터에서 번호표를 받는 것과 유사한 개념으로 이해할 수 있습니다.  Queue의 등장 이유 Queue는 다음과 같은 상황에서 사용됩니다:- 작업 대기열: 여러 작업이 동시에 발생할 때, 순서대로 처리하기 위해 Queue를 사용합니다.- 네트워크 통신: 네트워크에서 수신된 데이터를 순서대로 처리하기 위해 Queue를 사용합니다.- 프린터 대기열: 여러 사용자가 프린터를 사용할 때, 출력할 문서를 순서대로 저장하기 위해 Queu.. 2024. 5. 6.