데이터사이언스 기록기📚

[프로그래머스] Level 1_이상한 문자 만들기 본문

Coding Test/프로그래머스(Python)

[프로그래머스] Level 1_이상한 문자 만들기

syunze 2022. 7. 9. 15:03

문제 유형 

연습문제

 

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

다른사람의 문제풀이

1) split

 - split 이용하면 ' '기준으로 구별, 즉 ' '하나일 때만 빠지고 ' '가 두 개일때는 ' '가 하나 나타남(' '하나만 빠짐) -> 리스트로 생성

 - 문자 전체 변환 후 ' '하나 더 넣어주기

 - 맨 끝에는 하나 더 추가되니까 인덱스로 하나 빼주기

def solution(s):
    answer = ''
    new_list = s.split(' ')
    for i in new_list:
        for j in range(len(i)):
            if j % 2 == 0:
                answer += i[j].upper()
            else:
                answer += i[j].lower()
        answer+= ' '
    return answer[0:-1]

 

2) map, join 이용

- map

https://dojang.io/mod/page/view.php?id=2286 

 

파이썬 코딩 도장: 22.6 리스트에 map 사용하기

이번에는 리스트에 map을 사용해보겠습니다. map은 리스트의 요소를 지정된 함수로 처리해주는 함수입니다(map은 원본 리스트를 변경하지 않고 새 리스트를 생성합니다). list(map(함수, 리스트)) tupl

dojang.io

- 맨 앞 join에서 ' ' 추가하기, map으로 새로운 리스트 만들어서 문자 바꾸기

def toWeirdCase(s):
    return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))

 

리뷰

 - split에 대한 정의 제대로 알기 (' '가 두 개 이상이면 ' '하나 빼고 나타남)

 - map에 대한 정의 : 지정된 함수로 리스트 처리

728x90
Comments