언어, 프레임워크/Python & Django

[TIL] Python 쉬운 알고리즘 풀기 + 정리

jaee 2020. 8. 17. 23:50

 

오늘은 공부를 별로 못했지만.. 일단 그래도 기록!😴

 

프로그래머스 Level1

문제: https://programmers.co.kr/learn/courses/30/lessons/12948

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr

헷갈리지 말기

p = "1234567890123"

# 마지막에서 4번째 ~ 끝까지 자르기. 결과: 0123
p[-4:]

# 처음 ~ 마지막에서 4번째-1까지 자르기. 결과: 123456789
p[:-4]

# 마지막에서 4번째. 결과: 0
p[-4]

 

 

문제: https://programmers.co.kr/learn/courses/30/lessons/12926?language=python3

 

코딩테스트 연습 - 시저 암호

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가

programmers.co.kr

대문자, 소문자로 변환하기

  • upper(): 문자열 메소드. 대문자로 변환

  • lower(): 문자열 메소드. 소문자로 변환

 

대소문자 확인하기

  • isupper(): 문자열 메소드. 문자열의 모든 문자가 대문자일 경우 True 반환. 아니면 False 반환

  • islower(): 문자열 메소드. 문자열의 모든 문자가 소문자일 경우 True 반환. 아니면 False 반환

 

아스키코드, 문자로 변환하기

  • ord(): 내장 함수. 문자를 아스키코드로 변환
  • chr(): 내장 함수. 아스키코드를 문자로 변환
test1 = 'hello'
test2 = 'BYE'

test1.upper() # 'HELLO'
test2.lower() # 'bye'

test2.islower() # False
test2.isupper() # True

ord('A') # 65
chr(ord('A')) # 'A'

 

 

문제: https://programmers.co.kr/learn/courses/30/lessons/12918?language=python3

 

코딩테스트 연습 - 문자열 다루기 기본

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이��

programmers.co.kr

문자형인지 숫자형인지 판단하는 법

  • isalpha(): 문자열 메소드. 대상(문자열)이 문자들로만 이루어져 있으면 True, 아니면 False 반환

  • isdigit(): 문자열 메소드. 대상(문자열)이 숫자들로만 이루어져 있으면 True, 아니면 False 반환 (다만 음수 또는 실수로 구성된  경우에는 False 반환)

test1 = 'hello'
test2 = '12345t9'
test3 = '1000000'

test1.isalpha() # True
test1.isdigit() # False

test2.isalpha() # False
test2.isdigit() # False

test3.isalpha() # False
test3.isdigit() # True