문제 실행
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
제한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
입출력 예
s | return |
"abcde" | "c" |
"qwer" | "we" |
내 풀이
문자열의 길이가 짝수이면 ex) "abcdef"
2로 나눈 몫에 1을 뺀 인덱스 부터 ex) index : 2
2로 나눈 몫에 1을 더한 인덱스 까지 ex) index: 4
인덱싱을 사용해서 출력 ex) "cd"
홀수인 경우에는 문자열의 가운데 인덱스를 구해서 출력
def solution(s):
s_len = len(s)
if len(s) % 2 == 0:
return s[s_len//2-1 : s_len//2+1]
else:
return s[s_len//2]
다른 사람 풀이
짝수일 경우,
문자열 str 의 길이에서 1을 뺀 값을 2로 나눈 몫은 ex)"abcdef" -> 2
str 길이에서 2로 나눈 몫에 1을 더한 값은 ex) 4
출력 : "cd"
홀수일 경우,
문자열 str 의 길이에서 1을 뺀 값을 2로 나눈 몫은 ex)"abcde" -> 2
str 길이에서 2로 나눈 몫에 1을 더한 값은 ex) 3
출력 : "c"
len(str)-1 // 2 식으로 인해 if를 통한 짝수 홀수 상관이 없음
def string_middle(str):
return str[(len(str)-1)//2:len(str)//2+1]
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스/파이썬] 없는 숫자 더하기 (0) | 2022.09.23 |
---|---|
[프로그래머스/파이썬] 수박수박수박수박수박수? (0) | 2022.09.23 |
[프로그래머스/파이썬] 음양 더하기 (0) | 2022.09.22 |
[프로그래머스/파이썬] 제일 작은 수 제거하기 (0) | 2022.09.21 |
[프로그래머스/파이썬] 나누어 떨어지는 숫자 배열 (0) | 2022.09.20 |