1번 문제. to_snake_str() 구현하기

  • Camel형태의 문자열을 입력받으면 Snake형 문자열로 변경하는 함수 구현
  • 예시) 입력: HelloPython 출력: hello_python
  • 과정 : 대문자를 소문자로 고치면서 “_”문자를 더한다. => 가장 앞에 있는 “_”는 없앤다.
  • Hint) str.isupper(), str.replace(), str.lower(), str.strip(‘_’)
def to_snake_str(camelStr):
    resultStr = camelStr
    for i in resultStr:
        if(i.isupper()):
            resultStr = resultStr.replace(i, "_"+i.lower())
    return resultStr .strip('_')

1번 설명

  1. string을 한글자씩 돌면서, 대문자인 경우엔
  2. 해당 문자(i) 대신 “_”와 i를 소문자로 바꿔서 대체한다.(replace(), lower())
  3. return할 때 strip함수로 가장자리의 “_”를 제거한다. (사실 본 문제에서는 왼쪽의 “_”만 있기 때문에 lstrip()을 써도 상관없다.)

2번 문제. to_camel_str() 구현하기

  • Snake형태의 문자열을 입력받으면 Camel형 문자열로 변경하는 함수 구현
  • 예시) 입력: hello_python 출력: HelloPython
  • 과정: 단어가 시작하는 첫문자를 대문자로 바꾸고 “_”문자를 제거한다.
  • Hint) str.title(), str.replace()
def to_camel_str(snakeStr):
    return snakeStr.title().replace("_", "")

선생님은 또 한줄에 끝내셨다… 함수 알고 응용하는것이 힘!!!!!!!!!!!

2번 설명

  • 단어의 첫 문자를 대문자로 바꾸는건 title()함수로 너무 쉽게 구현됐다. 아마 단어 사이의 스페이스나 특정 문자를 기준으로 capitalize해주는 듯 하다.
  • 1번 문제에서 한 것 처럼 “_”를 공백으로 대체! 문자에 더하고 빼는건 replace()가 유용하다.

3번 문제. fix_sentence()구현하기

  • 문자열을 올바른 문장으로 고치는 함수 구현
  • 예시) 입력: hello, everyone 출력: Hello, everyone.
  • 과정: 문장의 첫 글자를 대문자로 고치고, 문장의 끝에 마침표가 없으면 더해준다.
  • Hint) str.capitalize(), str.endswith()
def fix_sentence(text):
    return text.capitalize() if text.endswith(".") else text.capitalize() + "."

이번 한줄은 내가 했다. 한줄로 줄였다고 성능이 더 좋아진건 아니지만 그래도 뿌우우우우우우우우ㅜㅜㅜㅜㅜㅜㅜㅜ듯

3번 설명

  1. endswith()함수는 지정된 접미사(“.”)로 문장이 끝날 경우 true 아니면 false를 반환한다.
  2. 따라서 true일 경우, 마침표가 있으므로 첫문장을 대문자로 바꾸기만 한다(capitalize())
  3. false일 경우엔 capitalize 후에 마침표를 더한다.

그동안 python string 함수를 그냥 찾아만보고 따로 공부한 적은 없는데 문제를 풀면서 공부의 필요성을 느꼈다.

모든 함수를 공부하진 못하더라도, 수업시간에 배운거와 추가로 찾아보는 것들은 꼭 알아둬야겠다.

오늘의 Python String 함수

  1. str.isupper() : 문자가 대문자인지 검사해 boolean값 반환
  2. str.replace(“old char”, “new char”) : 문자 교환
  3. str.lower() : 소문자로 반환
  4. str.title() : 문장 내 모든 단어의 첫 글자를 대문자로 반환
  5. str.capitalize() : 문장의 첫 글자를 대문자로 반환
  6. str.endswith(“.”) : 문장의 접미사를 검사해 boolean값 반환

파이썬에서의 삼항연산자

3번 문제에서 파이썬에서 처음 삼항 연산자를 구현하려고 했는데, 계속 에러가 발생했다. 찾아보니 파이썬은 삼항 연산자가 다른 형태로 있는데

true if condition else false 이 형태이다.

java나 javascript처럼 else뒤에 다시 문장을 반복해 여러가지 조건을 연산할 수 있다.

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다