[Python] 백준 알고리즘 온라인 저지 1018번 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 처음에는 문제를 잘못 이해하여 쉬운 문제라고 생각하고 풀었다가 좌절을 맛봤다. 다른 분들의 풀이를 참고하여 풀 수 있었다. 이 문제에서도 브루트 포스를 사용하고 8x8 크기의 체스판을 모두 비교하여 가장 적은 칸을 칠하는 값을 구하는 문제이다. 코드 n, m = map(int, input().split()) chess..
[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..
[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..
[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())..
[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..
[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..