나의 답안

from itertools import combinations

def find(n):
    for i in range(2, int(n * .5) + 1):
        if n % i == 0:
            return False
    return True


def solution(nums):
    data = []
    count = 0
    
    for i in combinations(nums, 3):
        data.append(sum(i))
            
    for i in data:
        if find(i):
            count += 1
    return count

나의 답안

def solution(s):
    answer = list(s)
    count = 0
    for i in range(len(s)):
        if s[i] == " ":
            count = 0
            continue
        else:
            if count % 2 == 0 or count == 0:
                answer[i] = answer[i].upper()
            else:
                answer[i] = answer[i].lower()
        count += 1

    return "".join(answer)

 

살펴볼만한 답안

def toWeirdCase(s):
    return " ".join(map(lambda x: "".join([a.lower() if i % 2 else a.upper() for i, a in enumerate(x)]), s.split(" ")))

나의 코드 

def solution(s, n):
    s = list(s)
    for i in range(len(s)):
        if s[i].isupper():
            s[i] = chr((ord(s[i]) - ord('A') + n) % 26 + ord('A'))
        elif s[i].islower():
            s[i] = chr((ord(s[i]) - ord('a') + n) % 26 + ord('a'))
    return "".join(s)

 

따로 공백을 처리 해주려고 했는데 list의 isupper, islower 함수를 사용하면 편하다.

나의 풀이

def gcd(n,m):
    mod = m % n
    if mod != 0:
        m, n = n, mod
        return gcd(n, m)
    else:
        return n

def solution(n,m):
    return [gcd(n, m), int(m * n / gcd(n, m))]

+ Recent posts