밤샘코딩/백준 단계별로 풀어보기 (문제)
[파이썬 문제풀이 2강] 백준 단계별로 풀어보기 2.1 < 9498번 >
[파이썬 문제풀이 2강] 백준 단계별로 풀어보기 2.1 < 9498번 >
2022.11.151. 문제 : 시험 성적 (1) 링크 : https://www.acmicpc.net/problem/9498 (2) 설명 : 시험 성적이 주어진다. 조건에 따라 성취도 (A, B, C .. F)를 출력하시오. 2. 풀이 전략 (1) 예제 해석 100 점이 입력 됐으므로 -> 조건에 의하여 A를 출력해주면 됩니다. (2) 도식화 ① 입력 자료형 선정 위의 예제에서 봤듯이 정수로 입력 받아야 그 범위를 조건문을 이용해 해결할 수 있습니다. ② 알고리즘 (for문 기초 : https://wikidocs.net/22) if ... elif ... else 문을 활용하여 A, B, C, D, F 으로 분류합니다. ③ 출력 결과를 출력합니다. (3) 프로그래밍 먼저 가장 간단하게 조건문을 쓰는 경우..
[파이썬 문제풀이 1강] 백준 단계별로 풀어보기 1.1 < 3003번 >
[파이썬 문제풀이 1강] 백준 단계별로 풀어보기 1.1 < 3003번 >
2022.11.151. 문제 : 킹, 퀸, 룩, 비숍, 나이트, 폰 (1) 링크 : https://www.acmicpc.net/problem/3003 (2) 설명 : 올바른 체스판의 조건이 주어진다. 현재 체스판의 상태가 주어질 때, 올바른 체스판이 되기 위한 기물의 변화 개수를 리스트로 출력하시오. 2. 풀이 전략 (1) 예제 해석 먼저, 첫 번째 예제의 상황입니다. [1, 1, 2, 2, 2, 8]의 경우가 올바른 체스판인데, 예제 1 체스판의 경우 [0, 1, 2, 2, 2, 7]이 주어졌습니다. 따라서 [0, 1, 2, 2, 2, 7] -> [1, 1, 2, 2, 2, 8] 이 되기 위해서는 맨앞 맨뒤 각각 1개씩의 기물이 더 필요합니다. 그 다음 두 번째 예제의 상황입니다. 마찬가지로 [1, 1..
[백준 2839번] 설탕 배달 - Python(파이썬) 자세한 풀이
[백준 2839번] 설탕 배달 - Python(파이썬) 자세한 풀이
2021.07.071. 문제 백준 2839 번 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 2. 아이디어 사실 이문제에 대한 일반적 풀이법은 DP 혹은 그리디인데 그리디를 기반하여 생각을 정리하던 중 시간복잡도가 상수인 아주 간단한 풀이가 떠올랐다. 아이디어는 다음과 같다. 문제를 다음과 같이 수식적으로 표현해 보자. N = 3*X + 5*Y 여기서 N은 주어진 설탕 무게의 합이며 X, Y는 각각 3kg 봉지의 수와 5kg 봉지의 수이다. 문제 조건만 잘 이해했다면 위..
[백준 11729번] 하노이 탑 이동순서 - Python(파이썬) 자세한 풀이
[백준 11729번] 하노이 탑 이동순서 - Python(파이썬) 자세한 풀이
2020.07.291. 문제 백준 11729번 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 2. 아이디어 우리는 원판이 1개일때 정답은 매우 당연하게 알고있습니다! 그냥 하나를 옮기면 되죠 ㅎㅎ 그렇다면 원판이 n개일때는 어떨까요? n에 대하여 생각해보세요! 음.. 그림을 보실까요? 위 그림에서 우리는 n개의 원판을 세번째 막대(?)에 옮길려고 합니다. 편의상 막대를 1번, 2번, 3번 막대라 하겠습니다. 이렇게요. 그럼 이제 n개의 원판을 1번..
[백준 2447번] 별찍기 10 - Python(파이썬) 자세한 풀이
[백준 2447번] 별찍기 10 - Python(파이썬) 자세한 풀이
2020.07.291. 문제 백준 2447 번 https://www.acmicpc.net/problem/2447 2. 아이디어 (1) n = 3^1 일때를 생각해보자! (^ 기호는 제곱을 나타냅니다. ex) 2^2 = 4, 2^3 = 8) 다음과 같이 별이 찍힌다는 것을 알 수 있다. (2) 그럼 이제 일반적인 n = 3^i에대하여 그림을 상상해보자 그림을 보면 알겠지만, n = 3^1 일때는 가운데를 비워두고 "별"이 찍힌 것처럼 n = 3^i 일때는 가운데를 비워두고 "n = 3^(i-1) 일때의 별 배열"이 찍힙니다. 이게 핵심아이디어 입니다. 이것만 이해하셨다면 이문제는 푼것이나 다름없습니다 ㅎㅎ 3. 풀이 (1) 코드 # 별 찍는 재귀 함수 def draw_star(n) : global Map if n == 3 ..