[Programmers] - 이상한 로직 만들기

오동훈·2021년 3월 15일
0

Programmers

목록 보기
12/64
post-thumbnail

1. Problem 📃

https://programmers.co.kr/learn/courses/30/lessons/12930

이번 문제는, 문자열 내의 각각 단어에 대해 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾸는 문제입니다.

2. Logic 👨‍🏫

  1. split 함수를 이용해 문자열 내 단어 분류하기
  2. 짝수번째는 대문자로, 홀수번째는 소문자로 변경해주고
  3. 모두 변경이 끝난 단어들을 join을 이용해 합쳐 반환해주면 끄읕~!!

3. Code 💻

1. 내가 푼 코드

def solution(s):
    word_list = s.split(" ")
    new_list = []
    for word in word_list:
        new_word = ""
        for i in range(len(word)):
            new_word += word[i].upper() if i%2==0 else word[i].lower()
        new_list.append(new_word)d
    return " ".join(new_list)

4. Feedback 📚

4.1 split()

- split() 함수는 문자열을 쪼개주는 함수입니다. 이 함수는 파라미터로 구분자를 주면 해당 구분자를 기준으로 문자열을 잘라 리스트 형식으로 반환합니다. 만약 파라미터에 아무것도 주지 않으면 공백을 기준으로 문자를 나눠줍니다.

PROTOTYPE: 문자열.split(구분자)

>>> str = "Hi my name is limcoing" 
>>> splitted_str = str.split() 
>>> print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing']

4.2 join()

- join 함수는 리스트의 문자열들을 합치는 역할을 한다.

PROTOTYPE: "".join(리스트) && "특정 문자열".join(리스트)

# 1. "".join(리스트) 형태입니다.

>>> str = "Hi my name is limcoing" 
>>> splitted_str = str.split() 
>>> print(splitted_str) 
['Hi', 'my', 'name', 'is', 'limcoing'] 

>>> joined_str = "".join(splitted_str) 
>>> print(joined_str) 
Himynameislimcoing 
# 2. "특정 문자열".join(리스트) 형태입니다.

>>> str = "Hi my name is limcoing" 
>>> splitted_str = str.split() 
>>> print(splitted_str) 

['Hi', 'my', 'name', 'is', 'limcoing'] 

>>> joined_str = "-".join(splitted_str) 
>>> print(joined_str) 

Hi-my-name-is-limcoing 
profile
삽질의 기록들🐥

0개의 댓글