[Algorithm🧬] 프로그래머스 1단계 - 4

또상·2022년 3월 7일
0

Algorithm

목록 보기
44/133
post-thumbnail

문자열 내 마음대로 정리하기

문제 / 풀이.py

def solution(strings, n):
    strings.sort()
    return sorted(strings, key=lambda x: x[n])

처음에는 아랫 줄만 사용했는데, 처음 놓여진 순서에서 2번째 문자 기준으로만 정렬이 되어서, 정렬을 하고, 문제에서 주어진 index 를 기준으로 다시 정렬을 했다.



두 정수 사이의 합

문제 / 풀이.py

def solution(a, b):
    answer = 0
    
    if a == b: return a
    
    if a > b:
        a, b = b, a
    
    for i in range(a, b+1):
        answer += i
    
    
    return answer



나누어 떨어지는 숫자 배열

문제 / 풀이.py

def solution(arr, divisor):
    answer = []
    
    for a in arr:
        if a % divisor == 0:
            answer.append(a)
    
    # 이런 조건들 자꾸 빼먹는다...
    # 자료구조에서도 이런 예외 조건 처리가 계속 잊어버리게 되던데 ㅠㅠ...
    if len(answer) == 0:
        answer.append(-1)
        
    answer.sort()

    return answer



같은 숫자는 싫어

문제 / 풀이.py

def solution(arr):
    answer = [-1]
    
    for a in arr:
        if answer[-1] != a:
            answer.append(a)
    
    return answer[1:]

answer 가 비어있을 때 조건 처리하기가 귀찮아서 입력에 들어가지 않는 수를 하나 넣고 시작한 뒤, 결과에서 첫번째 숫자를 뺐다.

근데 입력 자연수래서 처음에 0 넣고 시작했다가 다 틀려서 뭐지 했더니 0도 들어가는 거였다...... 허무



가운데 글자 가져오기

문제 / 풀이.py

def solution(s):
    return s[int((len(s) - 1) / 2) : int(len(s) / 2) + 1]

처음에 짝수일 때는 두글자 가져오는거 모르고 s[int(len(s) / 2)] 로 했다가 안돼서 당황했다.



부족한 금액 계산하기

문제 / 풀이.py

def solution(price, money, count):
    return sum([(i + 1) * price for i in range(count)]) - money

와 처음에 바보처럼 i 써야하는 자리에 count 쓰고 외않되..? 이러고 있었다..

profile
0년차 iOS 개발자입니다.

0개의 댓글