파이썬에서 데이터 조작의 일부로 우리는 때때로 주어진 숫자를 그 숫자의 숫자를 포함하는 목록으로 변환해야 할 수도 있습니다. 이 기사에서는 이를 달성하기 위한 접근 방식을 살펴보겠습니다. 목록 이해 포함 아래 접근 방식에서는 str 함수를 주어진 숫자에 적용한 다음 항등 함수를 통해 정수로 변환합니다. 마지막으로 결과를 목록으로 래핑합니다. 예 numA =1342# 주어진 numberprint(주어진 숫자 :\n, numA)res =[int(x) for x in str(numA)]# Resultprint(숫자 목록:\n,res)
Python을 사용한 데이터 분석의 일부로 데이터 컨테이너를 집합에서 목록으로 변환해야 할 수도 있습니다. 이 기사에서는 이 요구 사항을 해결하는 방법을 살펴보겠습니다. 목록 포함 이것은 주어진 집합에 목록 기능을 직접 적용하는 간단한 접근 방식입니다. 요소는 목록의 요소로 변환됩니다. 예 setA = {'Mon', 'day', '7pm'} # Given Set print("Given set : \n", setA) res = (list(setA) ) # Result pr
이 기사에서는 문자열을 포함하는 주어진 사전을 키 값 쌍의 일반 사전으로 변환하는 방법을 볼 것입니다. json.loads 사용 json.loads는 주어진 문자열을 전달하고 데이터 구조를 보존하는 일반 문자열로 결과를 제공할 수 있습니다. 그래서 우리는 주어진 문자열 사전을 이 함수에 매개변수로 전달하고 결과를 얻습니다. 예 import jsonstringA ={Mon :3, Wed :5, Fri :7}# 주어진 문자열 dictionaryprint(Given string :\n,stringA)# using json.loads()
입력 문자열 s와 다른 입력 문자열 p가 있다고 가정합니다. 여기서 s는 기본 문자열이고 p는 패턴입니다. 문자열의 패턴과 일치할 수 있는 하나의 메서드를 정의해야 합니다. 따라서 . 및 *를 지원하는 정규식에 대해 이것을 구현해야 합니다. 점 . 단일 문자와 일치 별표 * 선행 요소의 0개 이상과 일치합니다. 예를 들어 입력이 s =aa 및 p =a.와 같은 경우 동일한 입력 문자열에 대해 패턴이 .*이면 true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ss :=s의 크기 및 ps :
정렬된 목록이 있다고 가정합니다. 이 목록을 하나의 목록으로 병합해야 합니다. 이를 해결하기 위해 힙 데이터 구조를 사용합니다. 따라서 목록이 [1,4,5], [1,3,4], [2,6]이면 최종 목록은 [1,1,2,3,4,4,5,6]이 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 힙 만들기 목록의 각 연결 목록 l에 대해 - 0이 아니면 I를 힙에 삽입 res :=null 및 res_next :=null 한 번의 무한 루프 수행 - temp :=최소 힙 힙에 요소
여는 괄호와 닫는 괄호가 있는 문자열이 있다고 가정합니다. 유효한(잘 구성된) 괄호의 가장 긴 길이를 찾아야 합니다. 따라서 입력이 ))(())())와 같으면 유효한 문자열이 (())()이므로 결과는 6이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 스택을 만들고 -1을 삽입하고 다음을 설정합니다. :=0 범위 0에서 스택 길이 – 1에 있는 i의 경우 s[i]가 괄호를 여는 경우 i를 스택에 삽입합니다. 그렇지 않으면 스택이 비어 있지 않고 스택의 맨 위가 -1이 아니고 s[stack
정렬되지 않은 정수 배열이 하나 있다고 가정합니다. 가장 작은 누락된 양수를 찾아야 합니다. 따라서 배열이 [4, -3, 1, -1]과 같으면 결과는 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − i :=0으로 설정하고 모든 숫자 앞에 0 하나를 추가하여 배열 숫자 업데이트 범위 0에서 숫자 길이까지의 i에 대해 =0이고 nums[i]
n개의 음이 아닌 정수 배열이 있다고 가정합니다. 이것들은 각 막대의 너비가 1인 고도 지도를 나타내며, 우리는 비가 온 후 얼마나 많은 물을 가둘 수 있는지 계산해야 합니다. 따라서 지도는 다음과 같을 것입니다 - 여기에서 6개의 파란색 상자가 있는 것을 볼 수 있으므로 출력은 6이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 스택 정의, water :=0 및 i :=0 동안 나는 <높이의 크기 =height[i]인 경우 i를 스택에 푸시하고 i를 1만큼 증가 그렇지 않으면 x :=
입력 문자열 s와 다른 입력 문자열 p가 있다고 가정합니다. 다음은 기본 문자열이고 p는 패턴입니다. 문자열의 패턴과 일치할 수 있는 하나의 메서드를 정의해야 합니다. 따라서 ? 및 *와 같은 와일드카드 문자를 지원하는 정규식에 대해 이를 구현해야 합니다. 점 ? 단일 문자와 일치 별표 *는 0개 이상의 문자와 일치합니다. 예를 들어 입력이 s =aa 및 p =a?와 같으면 동일한 입력 문자열에 대해 참이 되고 패턴이 ?*이면 참이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ss :=s의 크
모든 요소가 양수인 정수 배열이 하나 있다고 가정합니다. 초기 시작점은 인덱스 1에 있습니다. 배열의 각 요소는 해당 위치에서 최대 점프 길이를 나타냅니다. 우리의 목표는 더 적은 수의 점프로 최종 셀에 도달하는 것입니다. 따라서 배열이 [2,3,1,1,4]와 같으면 출력은 2가 됩니다. 0에서 인덱스 1로 점프한 다음 마지막 인덱스인 인덱스 4로 점프할 수 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 끝 :=0, 점프 :=0, 가장 멀리 :=0 범위 0에서 숫자 길이 – 1까지의 i에 대해
문자열이 있다고 가정하면 해당 문자열이 숫자를 나타내는지 여부를 확인해야 합니다. 따라서 문자열이 0.2, abc, hello, -2.5, 10과 같으면 응답은 각각 true, false, false, true, true가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 이 문제를 해결하기 위해 프로그래밍 언어의 문자열 구문 분석 기술을 사용합니다. 문자열을 숫자로 변환하려고 시도합니다. 예외가 없으면 숫자가 되고 그렇지 않으면 숫자가 아닙니다. 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − c
히스토그램의 높이를 나타내는 하나의 정수 배열이 있다고 가정합니다. 각 막대에는 단위 너비가 있습니다. 다음과 같이 가장 큰 면적의 직사각형을 찾아야 합니다. - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 스택 생성, i :=0, ans :=0 설정 동안 나는 <높이의 크기, then 스택에 0개의 요소가 있거나 스택 상단 요소의 높이가 <=height[i]인 경우 i를 스택에 삽입하고 i를 1만큼 증가 그렇지 않으면 - x :=스택 상단 요소, 스택에서 삭제 높이 :=높이[x
i번째 요소가 i일의 주어진 주식 가격을 나타내는 배열이 있다고 가정합니다. 우리는 최대 이익을 찾는 알고리즘을 고안해야 합니다. 최대 2개의 거래를 완료할 수 있습니다. 따라서 주어진 가격이 [3,3,5,0,1,3,1,4]인 경우 결과는 6이 됩니다. 4일차(가격 0)에 매수하고 6일차에 매도( 가격 3), 따라서 이익은 3 – 0 =3입니다. 지금은 7일차(가격 1)에 판매되고 8일차(가격 4)에 판매되므로 이익은 4 – 1 =3입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 크기, m :=t의
비어 있지 않은 이진 트리가 하나 있다고 가정합니다. 경로 합을 찾아야 합니다. 따라서 여기에서 경로는 일부 시작 노드에서 부모-자식 연결이 있는 모든 노드까지의 노드 시퀀스입니다. 경로에는 하나 이상의 노드가 포함되어야 하며 루트 노드를 통과할 필요가 없습니다. 따라서 입력 트리가 -인 경우 여기서 출력은 32가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve()라는 메서드를 하나 정의하면 노드가 필요합니다. 노드가 null이거나 노드의 값이 0이면 0을 반환합니다. 왼쪽 :=최대값
정수 배열이 있다고 가정합니다. 가장 긴 연속 요소 시퀀스의 길이를 찾아야 합니다. 따라서 입력이 [100, 4, 250, 1, 3, 2]와 같으면 가장 긴 연속 시퀀스가 [1,2,3,4]이므로 응답은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 가장 긴 배열을 설정합니다 :=0 범위 배열의 i에 대해 - i - 1이 -에 없는 경우 현재 :=i, 행진 :=0 나는 -에 있는 동안 i 1 증가, 연속 1 증가 가장 긴 :=최장 및 연속 행수의 최대값 가
비어 있지 않은 문자열 s와 wordDict라는 사전이 있다고 가정하면 이 사전은 비어 있지 않은 단어 목록을 포함하고 s에 공백을 추가하여 각 단어가 다음과 같은 문장을 구성합니다. 유효한 사전 단어. 가능한 모든 문장을 찾아야 합니다. appleraincoat 및 사전은 [app, apple, rain, coat, raincoat] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 하나의 지도 메모 만들기 solve라는 메소드를 정의하면 string과 wordDict가 필요합니다. s가 null이면 빈 목록을
이진 트리가 있다고 가정합니다. 반복적 접근을 사용하여 이 트리의 사후 순회를 찾아야 합니다. 트리가 다음과 같다면 - 그러면 출력은 다음과 같습니다. [9,15,7,10,-10] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 루트가 null이면 빈 배열을 반환합니다. ret 배열 생성 stack :=[root, 0] 쌍으로 스택 정의 스택이 비어 있지 않은 동안 - node :=스택의 맨 위, 스택에서 요소 삭제 노드 쌍의 두 번째 값이 0이면 현재 :=노드 쌍의 첫 번째 값
2D 보드와 단어 목록이 있다고 가정합니다. 그래서 사전에서 칠판에 있는 모든 단어를 찾아야 합니다. 여기서 각 단어는 순차적으로 인접한 셀의 문자로 구성되어야 하며, 여기서 인접한 셀은 수평 또는 수직으로 인접한 셀입니다. 동일한 문자 셀이 한 단어에서 두 번 이상 사용될 수 없음을 명심해야 합니다. 따라서 입력이 다음과 같은 경우 - 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 배열 결과 만들기 solve()라는 메서드를 정의합니다. 이것은 board, d, i, j s를 사용합니다. i 또는 j가 각
번호가 있다고 가정합니다. 숫자는 0에서 231 – 1 사이의 모든 것이 될 수 있습니다. 숫자를 단어로 변환해야 합니다. 따라서 숫자가 512와 같으면 결과는 512가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − less_than_20과 같은 목록을 정의하십시오. 이것은 1에서 19까지의 모든 단어를 포함합니다. 10과 같은 또 다른 배열은 10, 20, 30 등을 최대 90까지 저장할 수 있습니다. 수천, 백만 및 10억을 수용할 수 있는 또 다른 어레이 helper()라는 하나의 함수를
문자열, 암호가 있다고 가정합니다. 암호를 강력하게 만드는 데 필요한 최소한의 변경 사항을 찾아야 합니다. 따라서 비밀번호에는 다음과 같은 몇 가지 기준이 있습니다 - 최소 6자, 최대 20자 최소 1개의 소문자, 1개의 대문자, 1개 이상의 숫자를 포함해야 합니다. …aaa…, …PPP…, …888… 따라서 입력이 aa26bbb와 같으면 대문자가 없고 연속으로 3개의 b가 있으므로 적어도 하나의 변경이 필요하므로 b를 하나의 대문자로 바꿔 강력하게 만들 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m