문제 , , , 및 s문자만 포함된 문자열이 주어 지면 입력 문자열이 유효한지 확인합니다.'('')''{''}''['']' 다음과 같은 경우 입력 문자열이 유효합니다. 열린 괄호는 동일한 유형의 괄호로 닫혀야 합니다. 열린 괄호는 올바른 순서로 닫혀야 합니다. 모든 닫는 괄호에는 동일한 유형의 해당 열린 괄호가 있습니다. 예시 1: 입력: s = "()" 출력: true 예시 2: 입력: s = "()[]{}" 출력: true 예시 3: 입력: s = "(]" 출력: false 제약: 1
코테
문제 에서 n으로 표시된 방이 있으며 방을 제외한 모든 방은 잠겨 있습니다 . 당신의 목표는 모든 방을 방문하는 것입니다. 그러나 열쇠가 없으면 잠긴 방에 들어갈 수 없습니다.0n - 10 방을 방문하면 그 방에서 고유한 열쇠 세트를 찾을 수 있습니다 . 각 열쇠에는 어느 방의 잠금이 해제되는지 나타내는 숫자가 있으며, 이 열쇠를 모두 가져가면 다른 방의 잠금을 해제할 수 있습니다. room을 방문했을 때 얻을 수 있는 키 세트가 있는 배열이 주어지면 rooms모든 방 을 방문할 수 있으면 반환 하고 그렇지 않으면 반환합니다 .rooms[i]itrue false 예시 1: 입력: Rooms = [[1],[2],[3],[]] 출력: true 설명: 방 0을 방문하여 키 1을 가져왔습니다. 그런 다음 방 1..
문제 트리보나치 수열 Tn 은 다음과 같이 정의됩니다. T 0 = 0, T 1 = 1, T 2 = 1, 그리고 T n+3 = T n + T n+1 + T n+2 for n >= 0. 가 주어지면 Tnn 값을 반환합니다 . 예시 1: 입력: n = 4 출력: 4 설명: T_3 = 0 + 1 + 1 = 2 T_4 = 1 + 1 + 2 = 4 예 2: 입력: n = 25 출력: 1389537 제약: 0
문제 0부터 인덱스가 지정된 정수 n x n행렬이 주어 지면 행 과 열이 동일하도록 쌍의 수를 반환합니다 .grid(ri, cj)ricj 행과 열 쌍은 동일한 순서로 동일한 요소를 포함하는 경우(즉, 동일한 배열) 동일한 것으로 간주됩니다. 예시 1: 입력: 그리드 = [[3,2,1],[1,7,6],[2,7,7]] 출력: 1 설명: 1개의 동일한 행과 열 쌍이 있습니다: - (행 2, 열 1 ): [2,7,7] 예 2: 입력: 그리드 = [[3,1,2,2],[1,4,4,5],[2,4,2,2],[2,4,2,2]] 출력: 3 설명: 3개의 동일한 행과 열 쌍이 있습니다. - (행 0, 열 0): [3,1,2,2] - (행 2, 열 2): [2,4,2,2] - (행 3, 열 2): [2,4,2,2] 제약: n..
문제 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 입출력 예 tickets return [["ICN", "..
문제 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 변환..
문제 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. 제한사항 이 마을에 있는 집은 3개 이상 1,000,000개 이하입니다. money 배열의 각 원소는 0 이상 1,000 이하인 정수입니다. 입출력 예 money return [1, 2, 3, 1] 4 풀이 1. 인접한 두집을 털면 안됨, 마을은 집끼리 동그랗게 배치, 돈의 최댓값 2. 인접한 두집을 털면 안되므로 1번째 집을 털고 2번째 ..
문제 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한사항 격자의 크기 m, n은 1 이상 100 이하인..