"get_prefix" 함수를 작성하세요.
문자열이 주어졌을때, “-”를 기준으로 앞에 있는 문자열을 반환하세요.print(get_prefix('BTC-KRW')) # --> BTC
split
매서드를 이용하면 간단히 풀 수 있는 문제이다.
1.-
가 기준이기에 split('-')을 하고
2. 앞에 있는 문자열이기에[0]
(인덱스 0)을 뒤에 적으면 된다.
기본형은
sting.split(separator, maxsplit)
으로
1.separator
은구분할 문자
이다. 선택형이며, 없을 경우, 모든whitespace
가 기본값이다.
2.maxsplit
은구분할 횟수
이다. 선택형이며, 없을 경우,-1
로 고정이며,모든 경우
가 기본값이다.
def get_prefix(str):
return str.split('-')[0]
"get_find" 함수를 작성하세요.
문자와 문자열이 주어졌을 때, "get_find" 함수는 주어진 문자열에서
함께 주어진 문자가 나타나는 첫 번째 위치를 반환합니다.
- Notes:
- 문자열의 첫번째 문자는 인덱스 값 0을 가집니다.
- 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다.
- 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
- find 함수를 사용하지 마세요.
- 우선 예외 조건을 생각하여
if 문
에 넣는다.
- 문자가 문자열에 없으면,
-1
를 반환한다.- 예외 조건이 아닌 것들(
else
) 중
for 문
을 통하여str
을 반복한다.- 만약 원하는 문자
char
가 해당str
의 인덱스와 일치하면- 해당 인덱스를 반복한다
def get_find(char, str):
if char not in str:
return -1
else:
for i in range(0, len(str)):
if char == str[i]:
return i
주어진 리스트 안에 있는 단어 중, 가장 긴 단어를 찾을 수 있도록 함수를 완성하세요.
- 단어의 길이가 가장 긴 변수
max_len
을 선언, 할당한다.for 문
으로words
의 단어element
를 반복한다if 문
으로 만약 해당 단어의 길이가max_len
보다 크면,max_len
의 값에 해당element
의 길이를 할당한다.- 반환할 가장 긴 단어의 값
result
에 해당element
를 할당한다.element
가 끝날 때까지 3번을 반복한다.result
의 값을 반환한다.
def find_longest_word(words):
max_len = -1
for element in words:
if len(element) > max_len:
max_len = len(element)
result = element
return result
find_longest_word이 가장 긴 문자열을 2개 이상 가지고 있을수 있으니 List 반환이 좋지 않을까요?