알고리즘연습

알고리즘

백준 7568번 덩치 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 7568번 덩치 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 이번 문제에서 가장 헷갈렸던 점은 두 개의 수를 어떻게 비교하느냐 하는 점이었다. 문제를 풀어 나갈수록 점점 접근 방식이 다른 분들의 코드와 비슷해져 가는 것 같아 나름 뿌듯함을 느끼고 있습니다.😄 코드 n = int(input()) people = [] for _ in range(n): people.append(list(ma..

알고리즘

백준 2231번 분해합 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 2231번 분해합 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 난이도는 쉬운 편으로 예외의 경우를 어떻게 처리해야 할지를 제외하면 어렵지 않게 for문과 리스트 내장 함수로 풀 수 있었다. 코드 n = int(input()) result = 0 for i in range(1, n+1): nums = list(map(int, str(i))) result = sum(nums..

알고리즘

백준 2798번 블랙잭 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 2798번 블랙잭 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 브루트 포스 단계의 문제로 3장의 카드 조합을 모두 더하고 그 값이 m에 가장 근사한 값을 출력하는 문제이다. 문제의 난이도는 쉬운 편이었다. 이 문제 같은 경우는 블랙잭 게임을 구현하는 문제와도 같아서 의사 코드를 작성 후 코드를 작성했다. 코드 n, m = map(int, input().split())..

알고리즘

백준 11729 하노이 탑 이동 순서 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11729번 하노이 탑 이동 순서 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 재귀 함수를 이용하는 문제로 머릿속에서는 쉬운 문제이지만 코드로 짜려니 어려움을 느껴 다른 분들의 블로그를 참조했다. 코드 n = int(input()) def top(n, a, b, c): if n == 1: print(a, c) else: top(n-1, a, c, b) print(a, c) top(n-1..

알고리즘

백준 2247번 별찍기 - 10 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 2257번 별 찍기 - 10 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 개인적으로 어려운 문제였다 여러 풀이들을 참조했고 그 풀이를 토대로 정리하였다. 코드 def counting_star(N): matrix = [] for i in range(3 * len(N)): if i // len(N) == 1: matrix.append(N[i % len(N)] + " " * l..

알고리즘

10870번 피보나치 수 5 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 10870번 피보나치 수 5 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 이번 문제도 for문과 재귀 함수를 모두 풀이가 가능하여 전부 풀이해보았다. for문 이용한 풀이 n = int(input()) result = [] for i in range(n): if i < 2: result.append(1) else: result.append(result[i-2]..

🚀 새로운 블로그로 이전했습니다.

살펴보러 가기
minjae_4
'알고리즘연습' 태그의 글 목록 (6 Page)