728x90 알고리즘322 [Python] 백준 2193 이친수 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제 해결 - 다이나믹 프로그래밍(dp)인 것은 쉽게 눈치 챌 수 있다. - n자리 이친수 개수를 dp[n]으로 놓을 때 dp[n] = dp[n-1] + dp[n-2]임을 알아야 한다. 그림판으로 그리면 dp[n]=dp[n-1] + dp[n-2]임을 알 수 있다. CODE import sys input= sys.stdin.readline n = int(input()) dp = [0 fo.. 2022. 12. 22. [Python] 백준 25682 체스판 다시 칠하기 2 https://www.acmicpc.net/problem/25682 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 해결 1018번과 같은 유형이지만 시간초과 압박이 있다. https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 하지만 별 생각이 안나서 비슷하게 풀어 봤다. CODE i.. 2022. 12. 22. [Python] 백준 2745 진법 변환 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 해결 - B 진법을 10진법으로 바꾸는 과정은 간단하다. (중고등학교때 많이 배운다.) ※예시 $102_{13} = 1 \times 13^2 + 0 \times 13 + 2 \times 13^0 = 169+2 = 171 $ - 따라서 위아 같은 식의 전개가 나오도록 코드를 작성하면 된다. CODE import sys input = sys.stdin.readline n, b = input().s.. 2022. 12. 21. [Python] 백준 4195 친구 네트워크 https://www.acmicpc.net/problem/4195 4195번: 친구 네트워크 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진 www.acmicpc.net 문제 풀이 - union find 문제이다. => 이에 대한 함수식을 쓰지 못하면 풀기 힘들다. (union find 문제라는 것은 알았는데 한동안 안풀면 까먹기 일상이다.) - 리스트를 이용하기보다(부모, 자식 모두 string name이 있어서 리스트로 index를 찾기는 너무 시간복잡도가 클 것 같다.) 딕셔너리(dict)을 이용하여 dict['name']= parents['nam.. 2022. 12. 21. 이전 1 ··· 76 77 78 79 80 81 다음 728x90