def solution(A, B): for i in (range(len(A))): if (A == B): return i A = A[-1] + A[:-1] return -1 A의 카운트로 for문을 돌린다 A의 마지막 글자(A[-1) 와 A의 마지막 글자를 제외한 글자(A[:-1])를 합친다 (문자열 슬라이싱) 반복하다가 A 와 B가 같을 경우에 현재의 문자열 인덱스 값 리턴 (i) 반복이 끝나고도 A와 B가 다를 경우에는 -1 리턴 [develop/Python] - [파이썬/Python] 문자열 관련 함수
from itertools import combinations def solution(numbers): return max(value[0] * value[1] for value in list(combinations(numbers, 2))) numbers 의 원소 중 두개를 곱하여 만들 수 있는 최댓값 구하기 itertools 라이브러리의 combinations를 사용하여 numbers의 조합을 구하고 만들어진 조합을 for문을 사용하여 값을 곱하였다. 마지막으로 곱해진 값들 중에서 가장 큰 값을 찾기 위하여 max() 함수를 사용했다. [develop/Python] - [파이썬/Python] 순열(permutation)과 조합(combination)
파이썬의 기본 라이브러리인 itertools를 사용하면 리스트의 조합을 구할 수 있다. from itertools import permutations #순열 from itertools import combinations #조합 1. permutations(순열) -> 하나의 리스트에서 모든 조합 계산 -> 몇 개를 골라 순서를 고려하여 나열한 경우의 수 -> 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 가짓수 -> 순서를 고려하여 나열하기 때문에 (A, B) 와 (B, A)는 다른 값이 된다. from itertools import permutations array = ['A', 'B', 'C'] result = permutations(array, 2) print(list(result)) # [..
def solution(box, n): return (box[0] //n) * (box[1] //n) * (box[2] // n) box[0]: 가로, box[1]: 세로, box[2]: 높이 box[0], box[1], box[2]를 몫으로 나눈 다음 부피를 구한다. 주사위가 들어갈 수 있는 최대의 수를 구하기 위해 가로, 세로, 높이 값을 몫으로 나눈 뒤에 부피를 구하는 공식인 가로 * 세로 * 높이를 사용하여 주사위의 개수를 구했다.
def solution(n, numlist): return [i for i in numlist if i % n == 0] 주어진 배열(numlist)에서 i % n == 0 인 값을 찾아서 i 를 리턴하는 문제
1. sort() -> 원본을 변경시켜 정렬하는 함수 -> 기본은 오름차순, 내림차순 사용시 sort(reverse = True) 사용 a = [3, 1, 4, 7, 15, 32, 2, 6] print(a.sort()) # None a.sort() #오름차순 print(a) # [1, 2, 3, 4, 6, 7, 15, 32] a.sort(reverse = True) # 내림차순 print(a) # [32, 15, 7, 6, 4, 3, 2, 1] 2. sorted() -> 원본을 변경시키지 않고 정렬하는 함수 -> 기본은 오름차순, 내림차순 사용시 sorted(array, reverse = True) 사용 a = [3, 1, 4, 7, 15, 32, 2, 6] print(sorted(a)) # [1, 2,..