본문 바로가기

백준20

[node.js,백준]13398 - 연속합 2 목차   문제링크https://www.acmicpc.net/problem/13398문제n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 또, 수열에서 수를 하나 제거할 수 있다. (제거하지 않아도 된다)예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 수를 제거하지 않았을 때의 정답은 12+21인 33이 정답이 된다.만약, -35를 제거한다면, 수열은 10, -4, 3, 1, 5, 6, 12, 21, -1이 되고, 여기서 정답은 10-4+3+1+5+6+12+21인 54가 된다.입력 첫째 줄에 정수 n(1 ≤.. 2024. 5. 11.
[node.js,백준]2133 - 타일 채우기 목차 문제링크https://www.acmicpc.net/problem/2133문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다.  출력 첫째 줄에 경우의 수를 출력한다.  주저리쉽지않은 문제였다 정답을 보면서했다 ㅠ풀이는 일단 마지막에 3이 채워지려면 2칸을 차지하는 3가지의 수가있다.그리고 홀수들은 답이 되지못하는거 까진 알았다.그럼 이제 짝수번부터 계산을 해야한다. 풀이 입력 데이터 처리파일 시스템 모듈(fs)을 사용하여 입력을 받습니다. 주석 처리된 부분은 실제 실행 환경에서 사용될 예정이며, 테스트를 위해 input 변수에 데이터를 직접 할당합니다.입력 데이터는 문자열에서 숫자로 변환되어 처리됩니다. 타일링 함.. 2024. 5. 10.
[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,백준]11055 - 가장 큰 증가하는 부분 수열 목차   문제링크https://www.acmicpc.net/problem/11055문제수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000) 출력 첫째 줄에 수열 A의 합이 가장 큰 증가하는 부분 수열의 합을 출력한다.  주저리증가하는 부분수열중에서 그 값들을 비교해 가장.. 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.
[node.js,백준]11652 - 카드 목차   문제링크https://www.acmicpc.net/problem/11652 문제준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다.준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다.입력 첫째 줄에 준규가 가지고 있는 숫자 카드의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 숫자 카드에 적혀있는 정수가 주어진다.  출력 첫째 줄에 준규가 가장 많이 가지고 있는 정수를 출력한다.  주저리 24/03/28에 해결했던 문제. 로직은 이미 풀었었으나 node.. 2024. 5. 9.
[Node.js,백준]1377 - 버블 소트 목차   문제 입력 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력정답을출력한다.  풀이24년 3월 28일날 풀었으나 티스토리로 이관 정렬을 이용해서 푸는 문제 이다. 실제로 버블 정렬으로 풀면 시간 초과가 일어나기 때문에 다른 방법으로 풀어야 한다.버블정렬엔 어떠한 규칙이있는데 앞의수가 뒤의수보다 클때 ex)(10 > 5)앞의수는 뒤의수보다 작을때까지 어디든 이동이 가능하지만 뒤의 수는 앞으로 한번씩만 이동한다는 점이다.이 점을 이용하기 위해arrs라는 새로운 배열을 만들껀데 최초 배열의 [값, i(순서)]를 저장하고 값을 오름차.. 2024. 5. 8.