two_sum함수에 숫자 리스트와 '특정 수'를 인자로 넘기면,더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
nums: 숫자 배열 / target: 두 수를 더해서 나올 수 있는 합계 / return: 두 수의 index를 가진 숫자 배열
def two_sum(nums, target): #nums은 [4, 9, 11, 14] target은 13 for i in range(len(nums)): for j in range(len(nums)): if nums[i] + nums[j] == target: #nums[0] + nums[1] = 4 + 9 = 13 이죠? return [i,j] #그러면 [0, 1]이 return 되어야 합니다.
reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.
x: 숫자 / return: 뒤집어진 숫자를 반환!
def reverse(number): #( ex) -87120 ) string = str(number) # int를 string으로 바꿔준다. ex) '-87120' if string[0] == '-': # 마이너스일때는 -3 일때 -3이 출력이안되고 '3-' 이렇게 출력된다. string = string[::-1] # reverse를 해준다. ex) 02178- return int((string[-1])+string[:-1]) # 021278-리턴값을 정리하자면 int값안에 (string[-1] = '-'를 가지고있고 string[:-1] '02178') 전환해준다. return int(string[::-1])
String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트 / return: 중복되지 않은 알파벳 길이 (숫자 반환)
str = "sttrg"
return은 3
=> 'trg' 가 제일 길기 때문
str = "abcabcabc"
return은 3
=> 'abc' 가 제일 길기 때문
def get_len_of_str(s): word = '' # 현재 분석중인 중복 없는 단어 word_list = [] # 현재까지 찾은 중복 없는 단어들 # 파라미터로 넘어온 텍스트가 공백('')이면 0 을 return if s == '': return 0 # abcax # 파리미터로 넘어온 텍스트에서 한 글자씩 꺼내서 분석 시작 for i in s: # word(현재 분석중인 중복 없는 단어)에 i(파라미터에서 하나씩 꺼낸 글자)가 없으면(중복되는 글자가 없으면) 해당 글자를 word 제일 뒤에 붙임 if i not in word: word += i # i 가 파라미터로 넘어온 텍스트의 마지막 글자이면 현재 word 를 word_list 에 저장 if i == s[-1]: print(word) word_list.append(word) # word 에 i 가 있으면 (중복되는 글자가 나타나면) word_list 에 word 를 추가하고 word 를 i로 초기화 else: word_list.append(word) word = i # 파라미터로 넘어온 모든 텍스트에 대해서 for 문을 다 돌면 word_list 에 글자 중복 없는 단어들 목록이 담김 # 리스트에서 가장 긴 단어를 찾아서 그 길이를 answer 에 할당하여 리턴 answer = len((max(word_list, key=len))) print(word_list) print(max(word_list, key=len)) print(len((max(word_list, key=len)))) return answer
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
num: 숫자 (123)
return: true or false (뒤집은 모양이 num와 똑같은지 여부) (False)
=> 뒤집은 모양이 321 이기 때문
def same_reverse(num): return str(num) == (str(num)[::-1]) #리턴에 값을 넣어주지않으면 True or False로 출력이된다.
strs은 단어가 담긴 배열입니다.
공통된 시작 단어(prefix)를 반환해주세요.
예를 들어
strs = ['start', 'stair', 'step']
return은 'st'
def get_prefix(strs): prefix = '' letter_set = set([]) max_index = len(max(strs)) print(f'max_index: {max_index}') # 0 번째 글자만 비교하기 # 1 번째 글자만 비교하기 index = 0 while index < max_index: for letter in strs: print(f'index: {index}') print(f'letter: {letter}') compare_letter = letter[index] print(f'compare_letter: {compare_letter}') # set 에 전부 넣은 다음에 set에 남은게 1개면 계속 ㄱㄱ 아니면 중단 letter_set.add(compare_letter) if len(letter_set) == 1: print(f'letter_set: {letter_set}') prefix += compare_letter index += 1 letter_set = set([]) else: print(f'prefix: {prefix}') return prefix print(f'prefix: {prefix}') return prefix