본문 바로가기

알고리즘

데일리 알고리즘 230102 ~ 230106

728x90

데일리 알고리즘 230102 ~ 230106


 

230102

 

프로그래머스, 하샤드 수

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

def solution(x):
    answer = False

    s = 0
    for c in str(x):
        s += int(c)
    if x % s == 0:
        answer = True

    return answer

print( "18 :", solution((18))) //True
print( "10 :", solution((10))) //True
print( "12 :", solution((12))) //True
print( "11 :", solution((11))) //False
print( "13 :", solution((13))) //False

230103

 

프로그래머스, 나누어 떨어지는 숫자 배열

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

def solution(arr, divisor):
    answer = []
    for e in arr:
        if e % divisor == 0:
            answer.append(e)
    if len(answer) == 0:
        answer.append(-1)
    answer.sort() # list 오른차순 정렬
    return answer


print("return : ", solution([5, 9, 7, 10],5))
print("return : ", solution([2, 36, 1, 3],1))
print("return : ", solution([2,6,36,13], 10))

230104

 

프로그래머스, 행렬의 덧셈

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

def solution(arr1, arr2):
    arr = []
    for row_idx in range(0, len(arr1)):
        row_list = []
        for col_idx in range(0, len(arr1[0])):
            row_list.append(arr1[row_idx][col_idx] + arr2[row_idx][col_idx])
        arr.append(row_list)
    return arr

print("return : " , solution([[1,2],[2,3]], [[3,4],[5,6]]))
print("return : " , solution([[1],[2]], [[3],[4]]))

230105

 

프로그래머스, K번째수

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]

def solution(array, commands):
    answer = []
    for command in commands:
        pick_array = array[command[0]-1:command[1]]
        pick_array.sort()
        answer.append(pick_array[command[2]-1])
    return answer

print("return : ", solution(array, commands))

 

📄 공부할 만한 코드

def solution(array, commands):
    answer = []
    for command in commands:
        i,j,k = command
        answer.append(list(sorted(array[i-1:j]))[k-1])
    return answer

230106

 

프로그래머스, 숫자 문자열과 영단어

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📄 나의 코드

words = ["zero", "one", "two", "three", "four",
         "five", "six", "seven", "eight", "nine"]

def solution(s):
    for i in range(len(words)):
        s = s.replace(words[i], str(i))
    return int(s)

print("result : ", solution("one4seveneight"))
print("result : ", solution("23four5six7"))
print("result : ", solution("2three45sixseven"))
print("result : ", solution("123"))

'알고리즘' 카테고리의 다른 글

데일리 알고리즘 230109  (0) 2023.01.10
자료구조 4주차_트리  (0) 2023.01.08
코딩 테스트 연습 30일  (0) 2022.12.30
코딩 테스트 연습 29일  (0) 2022.12.29
자료구조 3주차 숙제_2  (1) 2022.12.28