TIL|3週1)CodeKata
質問です。
def two_sum(nums, target):
# 아래 코드를 작성해주세요.
1.私の解決方法(雑然とした)
from itertools import permutations
def two_sum(nums, target):
# 아래 코드를 작성해주세요.
list_1 = list(permutations(nums, 2))
list_2 =[]
for i in list_1:
if i[0] + i[1] == target:
a = nums.index(i[0])
b = nums.index(i[1])
list_2.append(a)
list_2.append(b)
return list_2
break
else:
continue
2.チロンから学んだ方法(清潔)
def two_sum(nums, target):
# 아래 코드를 작성해주세요.
for i_idx , i_val in enumerate(nums) :
for j_idx, j_val in enumerate(nums) :
if i_val + j_val == target :
return [i_idx, j_idx]
新しい理解の概念:列挙
순서가 있는 자료형(list, set, tuple, dictionary, string)
インデックス値を含む列挙オブジェクトを返すt = [1, 5, 7, 33, 39, 52]
for p in enumerate(t):
print(p)
# (0, 1)
# (1, 5)
# (2, 7)
# (3, 33)
# (4, 39)
# (5, 52)
str = "enumerate"
for i in enumerate(str):
print(i)
# (0, 'e')
# (1, 'n')
# (2, 'u')
# (3, 'm')
# (4, 'e')
# (5, 'r')
# (6, 'a')
# (7, 't')
# (8, 'e')
obj = {'이름':'김민호', '나이':'30'}
for j in enumerate(obj):
print(j)
# (0, '이름')
# (1, '나이')
obj1 = {'이름':'김민호', '나이':'30'}
for k in enumerate(obj1.items()):
print(k)
# (0, ('이름', '김민호'))
# (1, ('나이', '30'))
質問です。
1時間くらいシャベルしたけど、結局抱っこできなかった、ふふ
def reverse(number):
# 여기에 코드를 작성해주세요.
if number > 0:
str_n = str(number)[::-1]
return int(str_n)
elif number < 0:
str_n1 = str(number)[1:]
return int(str_n1[::-1]) * -1
else:
return 0
新しいコンセプト:索引
::2
string = "홀짝홀짝홀짝"
print(string[0:5:2])
print(string[::2])
# 홀홀홀
::-1
string = "홀짝홀짝홀짝"
print(string[::-1])
# 짝홀짝홀짝홀
質問です。
今週一番難しい問題!
def get_len_of_str(s): # s = sttrg로 주어진다고 가정
result = 0 # 가장 긴 길이를 반환하기 위해 선언
string = '' # 알파벳 담을 빈 배열 선언
for i in s: # 주어진 단어 sttrg의 알파벳 하나하나에 접근
if i not in string: # 빈 배열에 i가 없으면
string = string + i # 담아. 그럼 st 까지 담길것
elif i in string: # 2번째 t는 이미 string에 담겨있으니까 이때
if len(string) > result: # string의 길이와 result=0 비교해서 전자가 길면
result = len(string) # result는 string의 길이로 다시 선언
string = i # 그리고 'st'였던 string은 i=t로 다시 선언
return max(len(string), result) # 그리고 for문을 다 돌고 나와서 리턴값으로 둘 중에 긴 값 반환
質問です。
def same_reverse(num):
# 아래 코드를 입력해주세요.
str_num = str(num)
result = ''
for i in str_num:
result = i + result
if result == str(num):
return True
else:
return False
ドアをforドアの中に置くと、いくつかのテストに合格できません.なぜですか.この場合、if文はパラメータとして受信されたstr numに変換される.
str numの各要素はifゲートを迂回するためエラーが発生します.
質問です。
def get_prefix(strs):
sorted_strs = sorted(strs)
res = ''
if len(strs) == 0: # 이 부분을 끝까지 생각 못했음 ㅠㅠ
return ''
for idx, i in enumerate(sorted_strs[0]):
if i == sorted_strs[-1][idx]:
res = res + i
else :
break
return res
print(get_prefix(['start', 'stair', 'step']))
Reference
この問題について(TIL|3週1)CodeKata), 我々は、より多くの情報をここで見つけました https://velog.io/@maxkmh/TIL-3주차-1-CodeKata-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol