문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.
| s | return |
| "try hello world" | "TrY HeLlO WoRlD" |
def solution(s):
answer = ''
words = s.split(" ")
for word in words:
for idx in range(len(word)):
if idx % 2 == 0:
answer += word[idx].upper()
else:
answer += word[idx].lower()
answer += " "
return answer[:-1]
# 주어진 문자열을 공백을 기준으로 나누어 리스트로 만들기
# 이중for문 사용
# 첫 번째 for문: 리스트의 요소만큼 반복
# 두 번째 for문: 문자열 개수만큼 반복
# 해당 문자열의 인덱스가 짝수라면(0부터니까) 대문자로 변환해서 answer에 추가
# 아니라면 소문자로 변환해서 answer에 추가
# 두 번째 for문이 끝나고 answer에 단어 하나가 완성되면 공백 추가
# 이중for문 끝나면 "TrY HeLlO WoRlD " 마지막 공백이 추가되어있을 것임. 마지막 공백 제거하고 리턴
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
| x | return |
| 10 | true |
| 12 | true |
| 11 | false |
| 13 | false |
def solution(x):
num = 0
for i in str(x):
num += int(i)
if x % num != 0:
return False
return True
# 자릿수의 합을 저장할 변수 num
# x를 str로 변환 후 for문으로 각 자릿수를 num에 더함
# x를 num으로 나누었을 때 나누어 떨어지지 않으면 False, 그렇지 않으면 True
def Harshad(n):
return n%sum(int(x) for x in str(n)) == 0
| [99클럽 1기] 99일지 DAY 11 - 짝수와 홀수, 문자열 내 마음대로 정렬하기 (0) | 2024.04.06 |
|---|---|
| [99클럽 1기] 99일지 DAY 10 - 나누어 떨어지는 숫자 배열, 행렬의 곱셈 (0) | 2024.04.05 |
| [99클럽 1기] 99일지 DAY 8 - 행렬의 덧셈 (0) | 2024.04.03 |
| [99클럽 1기] 99일지 DAY 7 - 음양 더하기, 피보나치 수 (4) | 2024.04.02 |
| [99클럽 1기] 99일지 DAY 6 - 문자열 내림차순으로 배치하기, 자연수 뒤집어 배열로 만들기 (0) | 2024.04.01 |