본문 바로가기
💻 하나씩 차곡차곡/프로그래머스 (Python)

코딩테스트 입문 Day14 - 369게임, 암호해독, 대문자와 소문자, 가까운 수

by 뚜루리 2023. 3. 6.
728x90
320x100

369게임

def solution(order):
    answer = 0

    for i in str(order):
        if i == "3" or i == "6" or i == "9":
            answer += 1

    return answer
def solution(order):
    answer = 0
    
    for i in str(order):
        if i in ['3', '6', '9']:
            answer += 1
    return answer

 

 

암호해독

def solution(cipher, code):
    answer = ''

    for i in range(code, len(cipher)+1):
        if i % code == 0:
            answer += cipher[i-1]

    return answer

 

def solution(cipher, code):
    answer = ''
    
    for i in range(code-1, len(cipher), code):
        answer += cipher[i]
    
    return answer
answer = cipher[code-1::code]

이런 방법도 있었다....

 

 

 

대문자와 소문자

def solution(my_string):
    answer = ''

    for i in my_string:
        if i.isupper():
            answer += i.lower()
        else:
            answer += i.upper()
    return answer
  • isupper() : boolean타입으로 대문자인지 아닌지 판별하는.
my_string.swapcase()

을 쓰면 한방에 바꿀수 있다. 

 

가까운 수

def solution(array, n):
    array.sort()
    temp = []

    for i in array :
        temp.append( abs(n-i) )

    return array[temp.index(min(temp))]
  • 풀고 나니 더 좋은 답안이 있어서 요걸로 가져옴. 

 

사실 난 이렇게 어렵게 풀었다.

def solution(array, n):
    answer = 0
    array.append(n)
    array.sort()
    
    for i, v in enumerate(array):
        if v == n :
            if i == len(array)-1 :
                return array[len(array)-1-1]
            elif i == 0:
                return array[i+1]
            else:
                num1 = n - array[i-1]
                num2 = array[i+1] - n
                if num1 > num2:
                    return array[i+1]
                else:
                    return array[i-1]
    return answer
728x90
320x100

뚜루리님의
글이 좋았다면 응원을 보내주세요!