728x90
반응형
이상한 문자 만들기(프로그래머스 Lv.1)
https://school.programmers.co.kr/learn/courses/30/lessons/12930
내 코드
def solution(s):
answer = ''
s = list(s)
even = 0
n = 0
while(n<len(s)):
if s[n] == ' ':
even = 0
else:
if even == 0:
s[n] = s[n].upper()
even = 1
else:
s[n] = s[n].lower()
even = 0
n += 1
answer = ''.join(s)
return answer
upper함수가 그냥 s[n].upper()하면 sort함수처럼 정리되는 줄 알았는데 배정하지않는 이상 그대로라는 것을 알게되었다.
even을 홀짝수를 가르키는 깜박이로 쓰는 방법을 사용하였다. 처음에 맨 앞이 공백이라던가 공백이 동시에 여러번이라던가 하는 변수를 신경쓰지 못했었다. 앞으로 좀 더 시야를 넓게 보아야겠다.
베스트코드
def solution(s):
return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))
이건 map함수와 lambda함수에 대한 이해가 있어야 이해 할 수 있다. 아래 간단히 정리해 둔 링크를 첨부하였다.
https://star-ccomputer-go.tistory.com/61
728x90
반응형
'Python공부 > 프로그래머스' 카테고리의 다른 글
(Python)최대공약수와 최대공배수(프로그래머스 Lv.1) (0) | 2023.06.14 |
---|---|
(Python)3진법 뒤집기(프로그래머스 Lv.1) (0) | 2023.06.14 |
(Python) 예산(프로그래머스 Lv.1)/색다른 생각 (0) | 2023.06.14 |
(Python)행렬의 덧셈(프로그래머스 Lv.1)/zip()활용 (0) | 2023.06.13 |
(Python)문자열 다루기 기본(프로그래머스 Lv.1)/isalpha()활용 (0) | 2023.06.13 |