미경이 스터디 5.30

코변·2022년 5월 29일
0
post-thumbnail

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이 되는 수 찾기

profile
내 것인 줄 알았으나 받은 모든 것이 선물이었다.

0개의 댓글