본문 바로가기

전체 글657

[Leetcode][970] Powerful Integers 문제 : https://leetcode.com/problems/powerful-integers/ 1이상의 양수인 x, y, 0이상의 bound가 입력으로 주어진다. i, j 가 0이상의 양수라 할때, x^i + y^i 2021. 5. 1.
[Leetcode][696] Count Binary Substrings 문제 : https://leetcode.com/problems/count-binary-substrings/ 0과 1로 이루어진 문자열에서 연속적으로 같은 숫자의 문자가 나오는 부분문자열들의 수를 구하라. 부분문자열 예 : 0011, 01, 10 / 안되는 예 : 1010 (같은 숫자가 연속적이지 않음). 11100 (숫자들의 등장횟수가 다름) 동일한 부분 문자열이라도 여러번 발생하면 발생한 횟수만큼 정답에 더해준다. 문자열을 탐색하면서 연속적으로 나오는 0과 1의 수를 센다. 예를 들어, "00110011"이라면 인덱스 / 숫자 0 1 0 (0) 1 0 1 (0) 2 0 2 (1) 2 1 3 (1) 2 2 4 (0) 1 2 5 (0) 2 2 6 (1) 2 1 7 (1) 2 2 위와 같이 채워진다. 인덱스.. 2021. 4. 24.
[Leetcode][1074] Number of Submatrices That Sum to Target 문제 : leetcode.com/problems/number-of-submatrices-that-sum-to-target/ 2차원 배열 matrix와 target 정수가 주어진다. matrix[x][y] (x1 2021. 4. 18.
[programmers][월간 코드 챌린지 시즌2] 모두 0으로 만들기 문제 : programmers.co.kr/learn/courses/30/lessons/76503# 연결된 두 점의 한 쪽은 +1, 다른 한 쪽은 -1을 하면 플마제로이기 때문에 결국 모든 노드의 가중치들의 합은 유지된다. 따라서 모든 노드들의 가중치 합이 0가 되지 않는다면 -1을 반환한다. 모든 노드들의 가중치 합이 0이 아니라면 가중치를 0으로 만드는 것은 가능하다. 임의의 노드를 루트노드라 가정하고 해당 노드로 다른 모든 노드들의 가중치를 루트노드로 이동시켜보자. [그림 1]은 가중치 0을 가진 노드를 루트노드라 가정하여 다른 노드들의 가중치를 순수하게 옮긴다고 가정했을 때의 이동횟수이다. 예를 들어 3 노드의 가중치를 0 노드로 옮길 때 -1 노드를 거치지만 단순히 거쳐가는 노드로만 사용된다. 총.. 2021. 4. 17.
[programmers][월간 코드 챌린지 시즌2] 괄호 회전하기 문제 : programmers.co.kr/learn/courses/30/lessons/76502 문자열 길이는 1,000으로 그다지 길지않다. 가능한 모든 문자열을 구해서 각 문자열들이 올바른 괄호문자열인지 판단 후 올바른 괄호문자열의 수를 센다. 올바른 괄호문자열은 문자열을 앞에서부터 탐색하면서 열린괄호라면 스택에 넣는다. 만약 닫는 문자열이 나왔다면 stack이 비어있지 않고 stack의 top에 있는 괄호와 올바른짝이라면 올바른 괄호짝이므로 stack을 pop해주고 다음 문자를 탐색해나간다. 만약 닫는 문자열이 나왔는데 stack이 비어있거나 (ex, ] ) 올바른 괄호짝이 아니라면 (ex, ((] ) 올바른 괄호문자열이 될 수 없다. 모든 문자열을 탐색했을 때 스택이 비어있다면 올바른 괄호 문자열.. 2021. 4. 17.
[programmers][월간 코드 챌린지 시즌2] 음양 더하기 문제 : programmers.co.kr/learn/courses/30/lessons/76501?language=cpp 합을 저장하는 변수를 하나 만들고 배열을 모두 탐색하면서 숫자에 양수면 1을 곱하고 음수면 -1을 곱해서 합변수에 더해준다. 시간복잡도는 O(N). N = 배열길이. 소스코드 : github.com/fpdjsns/Algorithm/blob/master/programmers/%EC%9B%94%EA%B0%84%20%EC%BD%94%EB%93%9C%20%EC%B1%8C%EB%A6%B0%EC%A7%80%20%EC%8B%9C%EC%A6%8C2/%EC%9D%8C%EC%96%91%20%EB%8D%94%ED%95%98%EA%B8%B0.cpp 2021. 4. 17.