level0_배열에서 문자열 대소문자 변환하기

2024. 11. 18. 21:44파이썬_알고리즘(코딩테스트)/level0

 

내가 제출한 코드

def solution(strArr):
    answer = []
    for i in range(len(strArr)):
        if i % 2 == 0:
            answer.append(strArr[i].lower())
        else:
            answer.append(strArr[i].upper())
    return answer
  • i % 2 == 0:
    • strArr[i].lower ()
      • 짝수 인덱스는 모두 소문자로 변환한다. 
  • strArr[i].upper()
    • 홀수 인덱스는 모두 대문자로 변환한다.

다른 사람이 제출한 코드

def solution(strArr):
    return [s.lower() if i % 2 ==0 else s.upper() for i,s in enumerate(strArr)]
  • 리스트 컴프리헨션을 사용하였다.
  • enumerate(strArr)를 통해 인덱스(i)와 요소(s)를 동시에 가져온다.
  • s.lower() if i % 2 == 0 else s.upper()
    • 인덱스 i가 짝수인경우 s.lower()로 변환한다.(소문자로)
    • 인덱스 i가 홀수인 경우 s.upper()로 변환한다.(대문자로)
  • 각 요소 s가 변환된 결과를 모아 새로운 리스트로 반환한다.