[프로그래머스] (LV1) 이상한 문자 만들기

[프로그래머스] (LV1) 이상한 문자 만들기

이상한 문자 만들기

JavaScript, Python3


문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

s return
“try hello world” “TrY HeLlO WoRlD”

입출력 예 설명

“try hello world”는 세 단어 “try”, “hello”, “world”로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 “TrY”, “HeLlO”, “WoRlD”입니다. 따라서 “TrY HeLlO WoRlD” 를 리턴합니다.


풀이


javascript

1
2
3
function solution(s) {
return s.split(' ').map((w)=>w.split('').map((w_,i)=> i%2===0?w_.toUpperCase():w_.toLowerCase()).join('')).join(' ')
}


python

1
2
3
def solution(s):
cases = [lambda x:x.upper(), lambda x:x.lower()]
return ' '.join([''.join([cases[i%2](x) for i,x in enumerate(s_)]) for s_ in s.split(' ')])


설명


공백으로 구분된 문자열 안에서의 순서를 생각해야 하는게 포인트다.

공백으로 문자를 자르고, 순서상으로 계산 뒤 다시 공백으로 join 한다.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges


[프로그래머스] (LV1) 이상한 문자 만들기

https://sklubmk.github.io/2021/08/04/12d9949a6d30/

Author

Jinki Kim

Posted on

2021-08-04

Updated on

2021-08-05

Licensed under

댓글