본문 바로가기

프로그래밍/알고리즘(Algorithm)8

[Algorithm] 백준 3460 - 이진수 문제: 3460번: 이진수 (acmicpc.net) 문제 양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. (1 ≤ T ≤ 10, 1 ≤ n ≤ 106) 출력 각 테스트 케이스에 대해서, 1의 위치를 공백으로 구분해서 줄 하나에 출력한다. 위치가 낮은 것부터 출력한다. 예제 입력 1 복사 1 13 예제 출력 1 복사 0 2 3 파이썬 코드: test_case = int(input()) num = [] for _ in range(test_case): n = in.. 2024. 1. 19.
[Algorithm] 백준 3584 - 가장 가까운 공통 조상 (LCA 알고리즘) 3584번: 가장 가까운 공통 조상 (acmicpc.net) 문제 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 노드를 모두 자손으로 가지면서 깊이가 가장 깊은(즉 두 노드에 가장 가까운) 노드를 말합니다. 예를 들어 15와 11를 모두 자손으로 갖는 노드는 4와 8이 있지만, 그 중 깊이가 가장 깊은(15와 11에 가장 가까운) 노드는 4 이므로 가장 가까운 공통 조상은 4가 됩니다. 루트가 있는 트리가 주어지고, 두 노드가 주어질 때 그 두 노드의 가장 가까운 공통 조상을 찾는 프로그램을 작성하세요 입력 첫 줄에 테.. 2024. 1. 18.
[Algorithm] 백준 - 한수 (Brute force: 완전 탐색) 백준: 1065번: 한수 (acmicpc.net) 문제 해설: 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 예제 입력 1 110 예제 출력 1 99 예제 입력 1에서 110까지 등차수열 개수를 출력하는 문제이다. ex) 예제 입/출력 2를 통해 1자리 수는 한수로 알 수 있다. 1 - 등차수열 2 - 등차수열 3 - 등차수열 4 - 등차수열 5 - 등차수열 ... 23 - 등차수열 99 - 등차수열 110 - 등차수열 X 결과: 110까지의 총 등차수열은 99개이다. 파이썬 코드: n = int(inpu.. 2024. 1. 16.
[Algorithm] 백준 - 덩치 (Brute force: 완전 탐색) 백준: https://www.acmicpc.net/problem/7568 문제 팁: 조건문을 보면 해당i(i[0]와 i[1])는 기준으로 자신보다 j(j[0]와 j[1])가 더 크면 +1 랭킹등수가 올라가는 것을 볼 수 있다. Brute force:완전탐색 이용한 파이썬 구현 N = int(input()) data = [] for _ in range(N): x, y = map(int, input().split()) data.append((x, y)) ans = [] for i in data: rank = 1 for j in data: if i[0] < j[0] and i[1] < j[1]: rank += 1 ans.append(rank) for k in ans: print(k, end=' ') 2024. 1. 13.
반응형