Photo by Pietro Mattia on Unsplash
def solution(s):
if len(s) == 4 or len(s) == 6:
return s.isnumeric()
return False
숫자로 이루어진 문자열에 문자가 끼어있다면 false를 뱉고 문자열이 다 숫자라면 True를 반환해야 하는 문제.
처음 생각으로는 바로 문제를 풀어버릴 거라고 생각했는데 문제를 꼼꼼히 읽지 못해 계속 오류에 빠졌다.
문자열의 길이는 4 혹은 6이다. 라는 문구를 스쳐지나갔는데 아직 문제를 잘 읽는 기술이 부족한 것 같다. 잘 읽어보자.
def solution(n):
return int(''.join(sorted(list(str(n)),reverse=True)))
이 문제도 형변환을 활용하면 쉽게 풀 수 있는 문제이다. 그러나 다른 프로그래밍언어로 정렬을 해보라고 하면 순간 답답해질 것 같다. 여러가지 정렬알고리즘에 대해서 한 번 공부해볼 필요가 있는 것 같다.
def solution(s,n):
answer = ''
for cha in s:
new_ord = ord(cha) + n
if cha == ' ':
answer += cha
pass
elif ord(cha) > 96:
if new_ord > 122:
new_ord -= 26
answer += chr(new_ord)
else:
if new_ord > 90:
new_ord -= 26
answer += chr(new_ord)
return answer
문자열을 주어진 n만큼 이동시켰을 때 (띄어쓰기는 그대로 둔 채로) 변한 문자를 반환하는 문제 코드가 너무 길고 보기에 좋지가 않다. 시간이 남으면 다음엔 이 문제도 더 깔끔하게 풀기 위해서 노력해야겠다.
문자열을 정수로 바꾸기
서울에서 김서방 찾기
나머지가 1이 되는 수 찾기