전체 글 알고리즘/프로그래머스 2024. 5. 7. [파이썬] 프로그래머스 코딩테스트 2024 KAKAO WINTER INTERNSHIP - 가장 많이 받은 선물 완벽해설 문제 https://school.programmers.co.kr/learn/courses/30/lessons/258712?language=python3# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr해설 이 문제의 경우 문제에서 요구하는 내용들(테이블 만들기, 테이블 각각의 값 계산 후 집어넣기)을 하나하나 코드로 구현하고, 마지막에 조건대로 코드를 작성하면 쉽게 풀 수 있다. table_1 = [[0 for _ in range(len(friends))] for _ in range(len(friends))] table_2 = [[0 for _ .. 알고리즘/프로그래머스 2024. 5. 5. [파이썬] 프로그래머 코딩테스트 - 피보나치 수 완벽해설 (효율성 고려) 문제 해설 https://vehiclewithai.tistory.com/41 [파이썬] 백준 연습문제 #11653. 골드바흐의 추측 완벽해설문제 해설 피보나치 수열을 구하는 문제는 재귀 함수를 사용하는 가장 기초적인 코드이며, 앞으로 백트래킹 및 DFS를 공부하는데 있어서 잘 이해하고 넘어가야만 하는 문제이다. 피보나치 함수vehiclewithai.tistory.com 이전에 피보나치 수에 대한 해설 글을 준비한 적이 있다. 그 당시에는 "재귀적 용법"을 사용하여 피보나치 수 코드를 짰는데, 이 경우 정말 비효율적으로 계산하게 된다. fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)위처럼 재귀적 용법을 사용하여 피보나치 수를 계산하게 되면 fibonacci(n-1).. 알고리즘/프로그래머스 2024. 4. 20. [파이썬] 프로그래머스 코딩테스트 입문 - 다음에 올 숫자 완벽해설 문제 해설 이 문제의 경우 등비수열과 등차수열을 구분할 수 있는 본질적인 것을 알아내면 된다. 일단 여기서 common의 길이는 2보다 크고 1000보다 작다고 했으므로 최소 3개라는 걸 알 수 있다. 그리고 등차수열이라면 3개의 요소의 각각의 차이가 동일할 것이며, 동비수열이라면 3개의 요소의 각각의 차이가 다를 것이다. 따라서 이 3개의 요소를 사용하여 등비수열인지 등차수열인지 분류하고, 이에 따라 마지막 요소의 값에 일정부분을 더하거나 혹은 곱해주는 방식으로 쉽게 코드를 작성할 수 있다. 코드def solution(common): interval = [] answer = 0 for i in range(1,3): interval.append(common[i] - c.. 알고리즘/프로그래머스 2024. 4. 19. [파이썬] 프로그래머스 코딩테스트 입문 - 옹알이 (1) 완벽해설 문제 해설 이 문제의 경우 babbling에서 주어진 리스트 안의 각각의 문장이 조카가 발음을 할 수 있는 단어로 구성이 되어 있는지를 확인해주면 풀 수 있는 문제이다. 따라서 babbling에서의 각각의 문장을 while문 안에 넣어주고, 조카가 발음할 수 있는 단어가 들어가있을 경우 이를 다른 한 단어로 대체를 해준 후 대체한 횟수를 세주고, 그리고 마지막에 그 문장의 글자수랑 "대체한 횟수 * 대체 단어의 단어수"의 단어수가 동일한지 파악해준 후, 동일하다면 발음할 수 있는 단어에 해당하므로 answer에 +1을 해주면 된다. 여기서 단어를 대체하고 나서 우연히 문장의 글자수랑 "대체한 횟수*대체 단어의 단어수"가 동일할 경우가 생길 수 있다. 이를 미연에 방지하고자 대체 단어로는 15글자보다 큰 .. 알고리즘/백준 2024. 1. 26. [파이썬] 백준 연습문제 #11653. 골드바흐의 추측 완벽해설 문제 해설 피보나치 수열을 구하는 문제는 재귀 함수를 사용하는 가장 기초적인 코드이며, 앞으로 백트래킹 및 DFS를 공부하는데 있어서 잘 이해하고 넘어가야만 하는 문제이다. 피보나치 함수는 앞의 두 함수값이 더해진 값이 다음의 값이 되는 함수이다. 따라서 f(n) = f(n-1) + f(n-2) 의 규칙을 지니는데, 그 규칙을 그대로 코드로 구현해주면 문제없이 이 문제를 풀 수가 있다. def pibonaci(num): if (num == 0): return 0 elif (num == 1): return 1 else: return pibonaci(num-1) + pibonaci(num-2) 즉 위처럼 f(n)을 넣게 되면 f(n-1) + f(n-2) 를 출력해주도록 코드를 짜주면 된다. 여기서 f(0)은.. 알고리즘/백준 2024. 1. 26. [파이썬] 백준 연습문제 #11653. 소인수분해 완벽해설 문제 해설 이 문제의 경우는 숫자 N을 받았을 때, 2부터 N까지 돌아가는 for 루프를 만든 후, 각각의 숫자에 대해서 나눌 수 있을만큼 나누면서 출력해주면 되는 문제이다. 코드 import sys import math N = int(input()) number = N if (N!=1): for i in range(2, N+1): while (True): if (number%i==0): print(i) number = int(number/i) else: break 결과 이전 1 2 3 4 5 ··· 9 다음