Python에는 데이터를 조작할 수 있는 훌륭한 라이브러리가 있습니다. 큰 문자열의 일부인 두 개의 연속 숫자의 최대 곱을 찾아야 할 필요가 있을 수 있습니다. 이 기사에서 우리는 그것을 달성하는 방법을 볼 것입니다.
zip 및 최대값 포함
문자열을 목록으로 변환합니다. 그런 다음 슬라이싱을 사용하여 연속 요소에서 쌍을 만듭니다. *를 적용하면 쌍을 곱한 다음 각 쌍에서 곱한 결과에서 최대값을 취합니다.
예
Astring = '5238521' # Given string print("Given String : ",Astring) # Convert to list Astring = list(Astring) print("String converted to list:\n",Astring) # Using max() res = max(int(a) * int(b) for a, b in zip(Astring, Astring[1:])) # Result print("The maximum consecutive product is : " ,res)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given String : 5238521 String converted to list: ['5', '2', '3', '8', '5', '2', '1'] The maximum consecutive product is : 40
지도 및 최대값 포함
우리는 위와 유사한 접근 방식을 취합니다. 그러나 우리는 연속적인 정수 쌍을 계속 생성하기 위해 map 함수를 사용합니다. 그런 다음 연산자 모듈의 mul 함수를 사용하여 이 쌍의 숫자를 곱합니다. 마지막으로 max 함수를 적용하여 결과의 최대값을 얻습니다.
예
from operator import mul Astring = '5238521' # Given string print("Given String : ",Astring) # Convert to list Astring = list(Astring) print("String converted to list:\n",Astring) # Using max() res = max(map(mul, map(int, Astring), map(int, Astring[1:]))) # Result print("The maximum consecutive product is : " ,res)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given String : 5238521 String converted to list: ['5', '2', '3', '8', '5', '2', '1'] The maximum consecutive product is : 40