첫번째 코드
문제 이해에 문제가 있었다
나는 문자 전체열에 대해서 진행해버렸....
def solution(s):
answer = ''
word = s.split()
for i in range(len(word)):
for j, char in enumerate(word[i]):
if j % 2 == 0:
answer += char.upper()
else:
answer += char.lower()
answer += ' '
return answer.strip()
아이 그럼 결과는 처참했다!
두번째 코드
그래서 이제 단어별로 나누어서 진행하기 위해서 문자열을 나누고
단어별로 인덱스 기준 짝수면 대문자로, 홀수면 소문자로 바꾸는 코드를 작성했다
def solution(s):
answer = ''
word = s.split(" ")
for i in range(len(word)):
for j, char in enumerate(word[i]):
if j % 2 == 0:
answer += char.upper()
else:
answer += char.lower()
answer += ' '
return answer.strip()
오답...; 디버깅으로 돌아가는 방법까지 확인해서 맞는 줄 알았는데, 반만 맞았다
새번째 코드
내가 이해한 방법이 맞다면 split(' ')은 3개의 공백이 있을 때 2개의 공백을 출력한다.
그렇기 때문에 하나의 공백을 추가하여 진행해야 한다.
인덱싱으로 대소문자가 섞인 단어를 만든 후, result에 공백, 단어가 들어가 있는 상태에 공백 하나를 추가하여 붙이는 형식으로 진행한다.
def solution(s):
result = []
word = s.split(" ")
for i in range(len(word)):
answer = ''
for j, char in enumerate(word[i]):
if j % 2 == 0:
answer += char.upper()
else:
answer += char.lower()
result.append(answer)
return ' '.join(result)
통과!
근데 아직 이해는 잘 안되는 것 같다...
그냥 그렇구나...라는 느낌..?
링크
programmers/프로그래머스/1/12930. 이상한 문자 만들기 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
문자열 내 마음대로 정렬하기 (0) | 2024.04.07 |
---|---|
나누어 떨어지는 숫자 배열 (0) | 2024.04.06 |
하샤드 수 (2) | 2024.04.05 |
행렬의 덧셈 (4) | 2024.04.04 |
음양 더하기 (8) | 2024.04.03 |