Q1. "get_prefix" 함수를 작성하세요.
문자열이 주어졌을때, “-”를 기준으로 앞에 있는 문자열을 반환하세요.
예) print(get_prefix('BTC-KRW')) # --> BTCco
def get_prefix(str):
a = str.find('-')
# print(a) 3출력
b = str[0:a]
return b
get_prefix('BTC-KRW')
💡 새로 알게 된거
find() 함수
find('찾을 문자') => 변수에 위차한 문자열 괄호 안에 넣은 특정 문자가 처음 위치한 자리의 값을 찾을 수 있다. 문자열의 위치는 숫자로 출력되고, 0부터 시작한다.
Q2.문자와 문자열이 주어졌을때, "get_find" 함수는 주어진 문자열에서 함께 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
Notes:
def get_find(char, str):
dex = 0
if char in str:
for x in str:
if x == char:
return dex
else:
dex +=1
return -1
print(get_find('h', 'I am a hacker'))
생각했던 방법
문장에서 글자들을 하나하나 다 뽑아내고, 글자들 하나하나를 주어진 문자 하나와 비교한다. 그래서 첫번째에 같으면 바로 0의 위치에 있는거니깐 출력하고, 없으면 dex=0에 1씩 더해서 같은 글자열을 찾을때까지 반복한다.
Q3. 주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.
print(find_longest_word(["PHP", "Exercises", "Backend"])) # --> "Exercises"
위에가 예시!
def find_longest_word(words):
li = []
for word in words:
a = len(word)
li.append(a)
b = max(li)
c = li.index(b)
result = words[c]
return result
# 구글링을 통해서 찾은 방법
# a = max(words, key = len)
# return a
find_longest_word(["PHP", "Exercises", "Backend"])
내가 생각했던 방법
리스트를 만들고 단어들을 len을 사용해 길이가 어느정도인지 구해서 리스트에 append한다. 그리고, max()를 사용해서 문자열이 제일 긴걸 구한다. 그리고 index() 함수를 이용해 index를 구하고, return 한다.
💡 새로 알게 된거
index() 함수는 str의 내장함수로서, 문자 및 문자열의 위치(index)를 찾아준다. 같은 문자 및 문자열이 있을 경우에는 처음의 위치를 반환한다.
💡 max() 함수를 이용해서 구하는 방법
a = max(words, key = len)
return a
max()의 parameter는 key= function을 기준으로 최대값을 찾을 수 있다.