DP
-
Problem : https://leetcode.com/problems/extra-characters-in-a-string Difficulty : Medium Status : Solved Time : 00:22:04 문제 설명 더보기0-인덱스의 문자열 s와 단어들의 사전인 dictionary가 주어진다. s를 하나 이상의 겹치지 않는 부분 문자열로 나누며, 부분 문자열은 dictionary 내에 존재해야 한다. 이 부분 문자열 어디에도 속하지 않는 잉여 문자들이 존재할 수 있다. s를 최적으로 쪼갠다고 가정할 때, 남는 잉여 문자들의 최소 개수를 반환하라. 풀이 순수 DP로도 풀 수 있다. 조금 비효율적이겠지만.현재 idx를 기준으로현재 idx의 문자가 잉여 문자임을 가정한다. 그렇다면 dp[idx+..
2707. Extra Characters in a StringProblem : https://leetcode.com/problems/extra-characters-in-a-string Difficulty : Medium Status : Solved Time : 00:22:04 문제 설명 더보기0-인덱스의 문자열 s와 단어들의 사전인 dictionary가 주어진다. s를 하나 이상의 겹치지 않는 부분 문자열로 나누며, 부분 문자열은 dictionary 내에 존재해야 한다. 이 부분 문자열 어디에도 속하지 않는 잉여 문자들이 존재할 수 있다. s를 최적으로 쪼갠다고 가정할 때, 남는 잉여 문자들의 최소 개수를 반환하라. 풀이 순수 DP로도 풀 수 있다. 조금 비효율적이겠지만.현재 idx를 기준으로현재 idx의 문자가 잉여 문자임을 가정한다. 그렇다면 dp[idx+..
2024.09.24 -
Problem : https://leetcode.com/problems/different-ways-to-add-parentheses Difficulty : Medium Status : Solved Time : 00:18:44 문제 설명 더보기주어진 문자열과 부호로 이루어진 수식을 입력으로 받아, 숫자와 연산자를 그룹화하는 모든 가능한 경우의 수를 계산하여 반환하라. 어떤 순서로 반환하여도 상관 없다. 생성된 테스트케이스는 출력값이 32비트 정수 내에 존재하며, 결과의 서로 다른 가짓수는 10^4를 초과하지 않는다. 풀이 처음에는 DP로 풀면서 뭐야, 왜 이렇게 복잡해? 싶었으나.. 내 착각이었다. DP로 풀면 결국 O(N^3)에 가까운 비효율적인 방식의 풀이가 되므로, 조금 다른 접근 방식이 필요하다..
241. Different Ways to Add ParenthesesProblem : https://leetcode.com/problems/different-ways-to-add-parentheses Difficulty : Medium Status : Solved Time : 00:18:44 문제 설명 더보기주어진 문자열과 부호로 이루어진 수식을 입력으로 받아, 숫자와 연산자를 그룹화하는 모든 가능한 경우의 수를 계산하여 반환하라. 어떤 순서로 반환하여도 상관 없다. 생성된 테스트케이스는 출력값이 32비트 정수 내에 존재하며, 결과의 서로 다른 가짓수는 10^4를 초과하지 않는다. 풀이 처음에는 DP로 풀면서 뭐야, 왜 이렇게 복잡해? 싶었으나.. 내 착각이었다. DP로 풀면 결국 O(N^3)에 가까운 비효율적인 방식의 풀이가 되므로, 조금 다른 접근 방식이 필요하다..
2024.09.19 -
Problem : https://www.acmicpc.net/problem/4243 4243번: 보안 업체 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 상점의 수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 시작점의 위치 a (1 ≤ a ≤ N)가 주어진다. a번째 점, pa = s가 시 www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:14:10 문제 설명 더보기 명우는 보안 업체의 직원이고, 강남역에 있는 상점 여러 개를 도보로 순찰하는 업무를 맡고 있다. 강남역은 선분으로 나타낼 수 있고, 명우의 회사와 상점은 왼쪽부터 순서대로 선분 위의 점 pi로 나타낼 수 있다. 회사는 pa에 있고,..
[백준/4243] 보안 업체 (Python)Problem : https://www.acmicpc.net/problem/4243 4243번: 보안 업체 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 상점의 수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 시작점의 위치 a (1 ≤ a ≤ N)가 주어진다. a번째 점, pa = s가 시 www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:14:10 문제 설명 더보기 명우는 보안 업체의 직원이고, 강남역에 있는 상점 여러 개를 도보로 순찰하는 업무를 맡고 있다. 강남역은 선분으로 나타낼 수 있고, 명우의 회사와 상점은 왼쪽부터 순서대로 선분 위의 점 pi로 나타낼 수 있다. 회사는 pa에 있고,..
2024.03.21 -
Problem : https://www.acmicpc.net/problem/19587 19587번: 객실 배치 1층 호텔이면 101호에 배치한 경우, 102호에 배치한 경우, 아무 호실에도 배치하지 않는 경우, 총 3가지 경우를 생각할 수 있다. www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:14:35 문제 설명 더보기 성민이는 한 층에 2개의 객실이 있는 N층짜리 호텔을 운영하고 있다. (물리적으로 어떻게 가능한지는 무시하도록 하자) 각 호실은 자연수 번호를 가지고 있으며, 100으로 나눈 몫은 층수를 나타내고, 나머지는 1 또는 2이다. 한 층에 있는 두 방은 나머지가 서로 다르다. 나머지가 같으면서 몫이 1 차이 나는 두 방은 위아래로..
[백준/19587] 객실 배치 (Python)Problem : https://www.acmicpc.net/problem/19587 19587번: 객실 배치 1층 호텔이면 101호에 배치한 경우, 102호에 배치한 경우, 아무 호실에도 배치하지 않는 경우, 총 3가지 경우를 생각할 수 있다. www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:14:35 문제 설명 더보기 성민이는 한 층에 2개의 객실이 있는 N층짜리 호텔을 운영하고 있다. (물리적으로 어떻게 가능한지는 무시하도록 하자) 각 호실은 자연수 번호를 가지고 있으며, 100으로 나눈 몫은 층수를 나타내고, 나머지는 1 또는 2이다. 한 층에 있는 두 방은 나머지가 서로 다르다. 나머지가 같으면서 몫이 1 차이 나는 두 방은 위아래로..
2024.03.13 -
Problem : https://www.acmicpc.net/problem/24505 24505번: blobhyperthink 첫째 줄에 조건에 맞는 쌍의 개수를 $10^9+7$로 나눈 나머지를 출력한다. www.acmicpc.net Difficulty : Platinum 4 Status : Solved Time : 00:36:40 문제 설명 더보기 BOJ에 있는 문제를 본 블롭은 쉬는 시간에 이런 문제를 생각해 냈다. 길이가 N인 수열 A에서 다음 조건에 맞는 (i, j) 쌍의 개수를 구하자! i < j이고 Ai < Aj이다. 이 문제는 블롭에게 너무 쉬웠고, 블롭은 쌍의 원소 수를 세 개로 늘렸다. 하지만, 아직 이 문제는 블롭에게 너무 쉬웠고, 블롭은 쌍의 원소 수를 네 개로 늘렸다. ... 하지만..
[백준/24505] blobhyperthink (Python)Problem : https://www.acmicpc.net/problem/24505 24505번: blobhyperthink 첫째 줄에 조건에 맞는 쌍의 개수를 $10^9+7$로 나눈 나머지를 출력한다. www.acmicpc.net Difficulty : Platinum 4 Status : Solved Time : 00:36:40 문제 설명 더보기 BOJ에 있는 문제를 본 블롭은 쉬는 시간에 이런 문제를 생각해 냈다. 길이가 N인 수열 A에서 다음 조건에 맞는 (i, j) 쌍의 개수를 구하자! i < j이고 Ai < Aj이다. 이 문제는 블롭에게 너무 쉬웠고, 블롭은 쌍의 원소 수를 세 개로 늘렸다. 하지만, 아직 이 문제는 블롭에게 너무 쉬웠고, 블롭은 쌍의 원소 수를 네 개로 늘렸다. ... 하지만..
2024.03.12 -
Problem : https://www.acmicpc.net/problem/1663 1663번: XYZ 문자열 첫째 줄에 문제 번호가 주어진다. 이는 1, 2, 3 중 하나이다. 이어서 둘째 줄에 자연수 N(1 ≤ N ≤ 100)이 주어진다. 문제 2인 경우는 셋째 줄에 자연수 k가, 문제 3인 경우는 셋째 줄에 X 또는 Y 또는 Z www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:23:36 문제 설명 더보기 "XYZ 문자열"이란 아래와 같은 문법에 의해 단계별로 만들어지는 일련의 문자열들을 뜻한다. "XYZ 문자열"은 세 개의 문자 X, Y, Z로만 이루어진다. 1단계 "XYZ 문자열"은 X로 시작한다. 다음 단계의 "XYZ 문자열"은 바로..
[백준/1663] XYZ 문자열 (Python)Problem : https://www.acmicpc.net/problem/1663 1663번: XYZ 문자열 첫째 줄에 문제 번호가 주어진다. 이는 1, 2, 3 중 하나이다. 이어서 둘째 줄에 자연수 N(1 ≤ N ≤ 100)이 주어진다. 문제 2인 경우는 셋째 줄에 자연수 k가, 문제 3인 경우는 셋째 줄에 X 또는 Y 또는 Z www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:23:36 문제 설명 더보기 "XYZ 문자열"이란 아래와 같은 문법에 의해 단계별로 만들어지는 일련의 문자열들을 뜻한다. "XYZ 문자열"은 세 개의 문자 X, Y, Z로만 이루어진다. 1단계 "XYZ 문자열"은 X로 시작한다. 다음 단계의 "XYZ 문자열"은 바로..
2024.03.08