이진 탐색 트리(BST)의 선주문 순회가 있다고 가정합니다. 각 내부 노드에 자식이 하나만 있는지 확인해야 합니다. 따라서 입력이 preorder =[22, 12, 13, 15, 14]와 같으면 BST가 −와 같으므로 출력은 True가 됩니다. 이를 해결하기 위해 하나의 효율적인 접근 방식을 따를 수 있습니다. 노드의 모든 종속 항목이 더 작거나 크므로 다음 단계를 수행할 수 있습니다. - 노드의 다음 선주문 후계자 가져오기 노드의 마지막 선주문 후계자 가져오기 이제 두 계승자가 현재 노드보다 작거나 크면 다
하나의 n x n 2D 행렬이 있다고 가정합니다. 이 행렬을 시계 방향으로 90도 회전해야 합니다. 따라서 행렬이 다음과 같으면- 1 5 7 9 6 3 2 1 3 그러면 출력은 2 9 1 1 6 5 3 3 7 이 문제를 해결하기 위해 다음 단계를 따릅니다. − temp_mat =[], col :=행렬의 길이 – 1을 고려하십시오. 0부터 행렬의 길이까지의 범위에 있는 col의 경우 온도 :=[] 행렬 길이 범위의 행 - 1에서 -1까지 temp에 행렬[row, col] 추가 temp_mat에 온도 추가
Python은 API 호출을 매우 잘 처리합니다. 이 기사에서는 실시간 및 과거 환율에 대한 API 호출을 처리하는 방법을 살펴보겠습니다. forex-python 사용 이 모듈은 통화 변환율을 얻는 가장 직접적인 방법을 제공합니다. 필요한 통화 코드에 대한 입력을 받은 다음 변환 결과를 제공할 수 있는 기능과 매개변수가 있습니다. 아래 예는 실시간 전환율을 나타냅니다. 예 from forex_python.converter import CurrencyRates c = CurrencyRates() print(c.get_rate(&
Python에는 html.parser 모듈의 HTMLParser 클래스를 통해 HTML 파일을 처리하는 기능이 있습니다. HTML 태그의 위치와 태그의 다른 많은 속성을 감지할 수 있습니다. HTML 파일에 있는 데이터를 식별하고 가져올 수도 있는 기능이 있습니다. 아래 예제에서 HTMLParser 클래스를 사용하여 클래스에서 정의한 태그와 데이터만 처리할 수 있는 사용자 정의 파서 클래스를 만드는 방법을 봅니다. 여기에서 시작 태그, 종료 태그 및 데이터를 처리하고 있습니다. 다음은 파이썬 사용자 정의 파서에서 처리되는 htm
파이썬 프로그램에서 파일 객체를 읽고 수정하려는 경우 두 가지 방법으로 수행할 수 있습니다. 첫 번째 방법은 파일이 있는 물리적 저장 드라이브의 내용을 수정하는 것이고 두 번째 방법은 시스템의 메모리 또는 RAM에서 직접 수정하는 것입니다. 이 기사에서는 파이썬에서 사용 가능한 mmap 모듈을 사용하여 파일 객체의 내용을 읽고, 검색하고, 수정하는 방법을 볼 것입니다. 파일을 조작하기 위해 열기, 읽기 및 lseek와 같은 시스템 호출을 만드는 대신 메모리 매핑은 파일의 데이터를 메모리에 저장하여 메모리에 있는 파일을 직접 조작할
주어진 목록에 주어진 단어가 있는지 분석해야 하는 경우가 많습니다. 이는 데이터에 대한 비즈니스 로직을 추가로 처리하는 데 도움이 됩니다. 이 기사에서는 문자열인 주어진 접미사가 많은 문자열을 포함하는 목록에 있는지 찾는 방법을 봅니다. 임의 사용 파이썬의 any() 함수는 항목이 iterable에 있으면 True를 반환합니다. nto이면 False를 반환합니다. 그래서 아래 프로그램에서 우리는 리스트에서 주어진 문자열의 존재 여부를 확인하기 위해 if 절을 디자인합니다. 예시 # Given List lstA = ["Tu
Kivy는 멀티 터치 앱과 같은 혁신적인 사용자 인터페이스를 사용하는 애플리케이션의 신속한 개발을 위한 오픈 소스 Python 라이브러리입니다. Android 애플리케이션 및 데스크탑 애플리케이션을 개발하는 데 사용됩니다. 이 기사에서는 GridLayout 및 CheckBox를 사용하는 방법을 살펴보겠습니다. 관련 모듈을 가져온 후 2개의 열이 있는 그리드 레이아웃을 만듭니다. 하나는 레이블을 유지하고 다른 하나는 확인란을 유지합니다. 예시 import kivy from kivy.app import App from kivy.uix
세상이 더 많은 비정형 데이터를 수용함에 따라 데이터 구조가 중첩된 JSON과 같이 깊이 중첩될 수 있는 다양한 형식의 데이터를 접하게 됩니다. Python은 내부 키를 외부 키와 연결하여 데이터를 평면화함으로써 중첩 데이터 구조를 처리하는 기능이 있습니다. 이 기사에서는 중첩된 사전을 가져와서 병합합니다. 재귀적 접근 사용 이 접근 방식에서 우리는 사전의 각 항목을 재귀적으로 처리하는 함수를 설계합니다. 사전을 전달하고 출력 사전에 대한 자리 표시자, 키 및 구분 기호를 매개변수로 디자인합니다. isinstance를 사용하여 다
바이너리로 변환할 때 주어진 양수에는 많은 세트비트가 있습니다. 2진수의 세트 비트는 1로 표시됩니다. 이 기사에서는 주어진 숫자를 2진 값으로 변환한 후 세트비트 수를 얻는 방법을 살펴보겠습니다. 빈 및 슬라이싱 사용 아래 예에서 우리는 숫자를 취하고 bin 함수를 적용하여 이진 값을 얻습니다. 그런 다음 2진수에 추가된 접두사를 제거하기 위해 슬라이스한 다음 범위 함수를 적용하여 세트비트 수를 가져옵니다. 예시 def SetBits_cnt(n, l, r):bin_val =bin(n) # bin_val 변환에서 접두사 0b 제거
딕셔너리는 파이썬에서 가장 광범위하게 사용되는 데이터 구조입니다. 여기에는 키와 값 형식의 데이터가 포함됩니다. 이 예에서는 주어진 키 세트에 특정한 사전에서 항목을 가져오는 방법을 볼 것입니다. 사전 이해 포함 이 접근 방식에서는 in 연산자와 함께 for 루프를 사용하여 사전을 간단히 반복합니다. 그러나 in 연산자와 함께 사전 키를 참조할 때 키 값도 언급합니다. 예시 dictA = {'Sun': '2 PM', "Tue": '5 PM', 'Wed':
print() 함수의 일반적인 사용은 명령줄이나 대화형 인터프리터에 텍스트를 표시하는 것입니다. 그러나 동일한 함수가 파일이나 출력 스트림에 쓸 수도 있습니다. 파일로 인쇄 예제에서 쓰기 모드에서 새 파일 이름을 가진 파일을 연 다음 인쇄 기능에서 해당 파일 이름을 언급할 수 있습니다. 파일에 기록할 값은 인쇄 함수에 인수로 전달할 수 있습니다. 예시 Newfile= open("exam_score.txt", "w") # variables exam_name = "Degree"
Kivy는 멀티 터치 앱과 같은 혁신적인 사용자 인터페이스를 사용하는 애플리케이션의 신속한 개발을 위한 오픈 소스 Python 라이브러리입니다. Android 애플리케이션 및 데스크탑 애플리케이션을 개발하는 데 사용됩니다. 이 기사에서는 FloatLayout 위젯을 사용하여 창의 다른 위치에 의 버튼을 만드는 방법을 볼 것입니다. 버튼의 위치는 더 큰 창에 대해 절대적이거나 상대적일 수 있습니다. 절대 위치 사용 이 접근 방식에서 우리는 고정된 위치에 버튼의 위치를 설정합니다. 따라서 창의 크기 조정이 발생하면 창의 크기와 버
목록 슬라이싱 사용 이 접근 방식에서는 목록의 전면과 후면 모두에서 슬라이싱을 사용합니다. 결과는 새 목록에 저장됩니다. 슬라이싱할 요소의 수는 변수일 수 있습니다. 예시 listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] # Given list print("Given list : " ,listA) # No of elements to be deleted # from fr
QR 코드는 카메라와 같은 이미징 장치로 읽을 수 있는 흰색 배경에 정사각형 격자로 배열된 검은색 사각형으로 구성됩니다. 그것은 많은 상업 추적 응용 프로그램과 휴대 전화 사용자를 대상으로 한 다양한 응용 프로그램의 지불 및 웹 사이트 로그인 등에 널리 사용됩니다. pyqrcode 모듈은 파이썬에서 qrcocode를 생성하는 데 사용됩니다. 데이터를 효율적으로 저장하기 위해 4가지 표준화된 인코딩 모드(숫자, 영숫자, 바이트/바이너리 및 한자)가 있습니다. 영숫자 qrcode 우리는 pyqrcode 모듈을 사용합니다. qrcode
고유한 요소가 있는 num이라는 배열이 있다고 가정합니다. 하나의 하위 배열을 뒤집은 후 배열이 정렬되는지 여부를 확인해야 합니다. 배열이 이미 정렬되어 있으면 true도 반환합니다. 따라서 입력이 nums =[4,6,27,25,15,9,37,42]와 같으면 출력은 True가 됩니다. 왜냐하면 [9,15,25,27]을 반대로 하면 배열이 정렬됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 크기 배열에 요소가 하나만 있으면 True를 반환합니다. i :=1 1 ~ n - 1 범위의 i에 대해 숫자[i
직각 삼각형의 빗변과 넓이가 있다고 가정하고 이 삼각형의 밑변과 높이를 찾아야 합니다. 불가능하면 False를 반환합니다. 따라서 입력이 hypo =10, area =24와 같으면 출력은 (6, 8)이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − hypo_sq :=하이포 * 하이포 s :=(hypo_sq / 2.0)의 제곱근 maxArea :=밑변 s와 빗변 빗변을 사용하여 삼각형의 면적 계산 maxArea이면 거짓을 반환 왼쪽 :=0.0, 오른쪽 :=s 0.000001, do 기본 :=(왼쪽 + 오른쪽
문자열 s와 다른 문자열 t가 패턴으로 있다고 가정하고 s의 문자가 t에 있는 문자에 의해 결정된 것과 같은 순서를 따르는지 확인해야 합니다. 여기서는 패턴에 중복 문자가 없습니다. 따라서 입력이 s =hello world t =hw와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기
두 개의 문자열 s와 t가 있다고 가정하고 t가 s의 회전인지 여부를 확인해야 합니다. 따라서 입력이 s =hello, t =llohe와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 t의 크기와 같지 않으면 거짓을 반환 temp :=s를 s와 다시 연결 0이면 참 반환 거짓을 반환 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − 예시 코드 def solve(s, t): if len(s) != len(t): &nb
nums라는 배열이 있고 여기에 양수와 음수가 포함되어 있다고 가정합니다. 또 다른 값 k가 있습니다. 그 곱이 k인 하위 배열이 배열에 존재하는지 여부를 확인해야 합니다. 따라서 입력이 nums =[-2,-1,1,3,5,8], k =6과 같으면 하위 배열이 [-2,-1,3] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 최소 :=nums[0], 최대 :=nums[0] prod_max :=nums[0] 범위 1에서 숫자 크기 - 1까지의 i에 대해 nums[i] <0이면 최대값과 최소값 바꾸기 maximum :=nu
문자열 s가 있다고 가정하면 문자열 회문이 접두어 및 접미사 하위 문자열인지 여부를 확인해야 합니다. 따라서 입력이 s =levelishighforracecar와 같으면 회문 접두어와 접미사가 있으므로 출력은 True가 됩니다. 각각 level과 racecar입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − l :=s의 크기 2 ~ l + 2 범위의 i에 대해 인덱스 i까지의 s의 부분 문자열이 회문이면 루프에서 나오다 i가(l + 1)과 같으면 거짓을 반환 2 ~ l + 2 범위의 i에 대해 인덱스 (l