목록전체 글 (1209)
넘치게 채우기
https://www.acmicpc.net/problem/1987BOJ - 알파벳문제 유형: 백트래킹, dfs, 비트마스킹문제 난이도: Gold IV시간 제한: 2초메모리 제한: 256MB 문제세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다.좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. ..
https://leetcode.com/problems/prime-subtraction-operation/description/?envType=daily-question&envId=2024-11-11leetcode - Prime Subtraction Operation문제 유형: 정수론, 수학, 그리디문제 난이도: Medium 문제You are given a 0-indexed integer array nums of length n.You can perform the following operation as many times as you want:Pick an index i that you haven’t picked before, and pick a prime p strictly less than nums[..
https://www.acmicpc.net/problem/5639BOJ - 이진 검색 트리문제 유형: 트리, 재귀, dfs, 이진탐색트리(BST)문제 난이도: Gold IV시간 제한: 1초메모리 제한: 256MB 문제이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다.노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다.노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다.왼쪽, 오른쪽 서브트리도 이진 검색 트리이다.전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다. 예를 들어, ..
https://leetcode.com/problems/shortest-subarray-with-or-at-least-k-ii/description/?envType=daily-question&envId=2024-11-10leetcode - Shortest Subarray With OR at Least K II문제 유형: 비트마스킹, 슬라이딩 윈도우문제 난이도: Medium 문제You are given an array nums of non-negative integers and an integer k.An array is called special if the bitwise OR of all of its elements is at least k.Return the length of the shortest s..
https://www.acmicpc.net/problem/1504BOJ - 특정한 최단 경로문제 유형: 최단 경로, 다익스트라, 그래프문제 난이도: Gold IV시간 제한: 1초메모리 제한: 256MB 문제방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다.세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을 ..
https://leetcode.com/problems/minimum-array-end/description/?envType=daily-question&envId=2024-11-09leetcode - Minimum Array End문제 유형: 비트마스킹문제 난이도: Medium 문제You are given two integers n and x. You have to construct an array of positive integers nums of size n where for every 0 nums[i + 1] is greater than nums[i], and the result of the bitwise AND operation between all elements of nums is x.Retu..
https://www.acmicpc.net/problem/1967BOJ - 트리의 지름문제 유형: dfs / bfs문제 난이도: Gold IV시간 제한: 2초메모리 제한: 128MB 문제트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다.이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다.입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때..
https://leetcode.com/problems/maximum-xor-for-each-query/description/?envType=daily-question&envId=2024-11-08leetcode - Maximum XOR for Each Query문제 유형: 비트마스킹, 비트 조작, 부분합문제 난이도: Medium 문제You are given a sorted array nums of n non-negative integers and an integer maximumBit. You want to perform the following query n times:Find a non-negative integer k such that nums[0] XOR nums[1] XOR ... XOR nu..
https://www.acmicpc.net/problem/9465BOJ - 스티커문제 유형: 다이나믹 프로그래밍문제 난이도: Silver I시간 제한: 1초메모리 제한: 256MB 문제상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다.상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다.모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 ..
https://leetcode.com/problems/largest-combination-with-bitwise-and-greater-than-zero/description/?envType=daily-question&envId=2024-11-07leetcode - Largest Combination With Bitwise AND Greater Than Zero문제 유형: 비트마스킹, 비트 조작문제 난이도: Medium 문제The bitwise AND of an array nums is the bitwise AND of all integers in nums.For example, for nums = [1, 5, 3], the bitwise AND is equal to 1 & 5 & 3 = 1.Also, f..