목록Study/Practice (6)
이상한 코딩 나라의 혜돌이
Q. strange_sort함수는 strings와 n이라는 매개변수를 받아들입니다. strings는 문자열로 구성된 리스트인데, 각 문자열을 인덱스 n인 글자를 기준으로 정렬하면 됩니다. 예를들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1인 문자 u, e ,a를 기준으로 정렬해야 하므로 결과는 [car, bed, sun]이 됩니다. strange_sort함수를 완성해 보세요. A. def strange_sort(strings, n): for i in range(len(strings)): strings[i] = strings[i][n:len(strings[i])] + strings[i] # arr[n:m] - list의 n부터 m 전까지 잘라서 가져오기. 이거 진짜 ..
Q. no_continuous함수는 스트링 s를 매개변수로 입력받습니다. s의 글자들의 순서를 유지하면서, 글자들 중 연속적으로 나타나는 아이템은 제거된 배열(파이썬은 list)을 리턴하도록 함수를 완성하세요. 예를들어 다음과 같이 동작하면 됩니다. s가 '133303'이라면 ['1', '3', '0', '3']를 리턴 s가 '47330'이라면 [4, 7, 3, 0]을 리턴 A. def no_continuous(s): data = [] if len(s) != 0: data.append(s[0]) # if문이 없으면 len(s)일 경우에 에러! for i in range(1, len(s)): if s[i - 1] != s[i]: data.append(s[i]) return data print( no_con..
Q. numPY함수는 대문자와 소문자가 섞여있는 문자열 s를 매개변수로 입력받습니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 리턴하도록 함수를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 예를들어 s가 pPoooyY면 True를 리턴하고 Pyy라면 False를 리턴합니다. A. def numPY(s): cntP = 0 cntY = 0 for i in range(len(s)): if s[i].lower() == 'p': cntP += 1 # lower() - 소문자로 만드는 함수. 반대는 upper() if s[i].lower() == 'y': cntY += 1 return cntP == cntY print( numPY("pP..
Q. sum_digit함수는 자연수를 전달 받아서 숫자의 각 자릿수의 합을 구해서 return합니다. 예를들어 number = 123이면 1 + 2 + 3 = 6을 return하면 됩니다. sum_digit함수를 완성해보세요. A. def sum_digit(number): a = 0 while number / 1 != 0: a += number % 10 number //= 10 # '/' 하나짜리를 쓰면 실수가 들어간다! '//'를 사용하면 정수. return a print("결과 : {}".format(sum_digit(123))); # 출력하는 다른 방식.
Q. 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요. 예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) A. def sumMatrix(A,B): answer = [] m = len(A) if m > 0: n = len(A[0]) for i in range(m): tmp = [] for j in range(n): tmp.append(A[i][j] + B[i][j]) # append..
Q. rm_small함수는 list타입 변수 mylist을 매개변수로 입력받습니다. mylist 에서 가장 작은 수를 제거한 리스트를 리턴하고, mylist의 원소가 1개 이하인 경우는 []를 리턴하는 함수를 완성하세요. 예를들어 mylist가 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10, 8, 22]면 [10, 22]를 리턴 합니다. A. def rm_small(mylist): # 함수 정의 부분. python은 괄호를 사용하지 않고 인덴트 블럭으로 구분한다! l = len(mylist) # len() - list의 길이를 반환하는 함수 if l == 0: return '' # 각종 제어문에도 괄호 없음. minidx = 0 min = mylist[0] for i in range(l)..