본문 바로가기

Algorithm/SWEA3

[Algorithm] SWEA : 1486. 장훈이의 높은 선반 by Python 📌 문제 설명 서점에는 높이가 B인 선반이 있다. 이 서점에 있는 N명의 점원들이 선반 위에 올려놓은 물건을 사용해야 하는 일이 생겼다. 각 점원의 키는 Hi로 나타나는데, 점원들은 탑을 쌓아서 선반 위의 물건을 사용하기로 하였다. 점원들이 쌓는 탑은 점원 1명 이상으로 이루어져 있다. 탑의 높이는 점원이 1명일 경우 그 점원의 키와 같고, 2명 이상일 경우 탑을 만든 모든 점원의 키의 합과 같다. 탑의 높이가 B 이상인 경우 선반 위의 물건을 사용할 수 있는데 탑의 높이가 높을수록 더 위험하므로 높이가 B 이상인 탑 중에서 높이가 가장 낮은 탑을 알아내려고 한다. 입력 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 두 정수 N, B(1 ≤ N ≤ 20, 1 ≤ B.. 2021. 2. 3.
[Algorithm] SWEA : 10965. 제곱수 만들기 by Python 📌문제 설명 어떤 자연수 A가 주어진다. 여기에 자연수 B를 곱한 결과가 거듭제곱수가 되는 최소의 B를 구하는 프로그램을 작성하라. 입력 첫 번째 줄에 테스트 케이스의 수 T 가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 하나의 자연수 A(1≤A≤10**7) 가 주어진다. 💡 문제 풀이 시간초과로 많은 어려움을 겪었던 문제... 1차시도 - 시간초과 문제의 난이도가 높지 않아 단순하게 2부터 A까지 나누었을 때 나눈 횟수가 홀수이면 곱해주는 방식(나눈 횟수가 짝수여야 제곱수가 가능)으로 정답을 도출하려 하였다. T = int(input()) for tc in range(T): A = int(input()) res = 1 # items = dict() for i in range(2, A+1): if n.. 2020. 12. 29.
[Algorithm] SWEA : 10726. 이진수 표현 by Python 📌문제 설명 정수 N, M 이 주어질 때, M의 이진수 표현의 마지막 N 비트가 모두 1로 켜져 있는지 아닌지를 판별하여 출력하라. 💡 문제 풀이 비트가 켜져있다.(= 나머지가1이다.)로 접근하여 풀이하였다. N만큼 반복하여 M을 2로 나누었을 때 나머지가 계속해서 1이되는 홀수면 'ON' 그렇지 않으면 'OFF'를 출력하면 된다. def check(): global N, M for i in range(N): if not M % 2: return False M //= 2 else: return True T = int(input()) for tc in range(T): N, M = map(int, input().split()) res = 'ON' if check() else 'OFF' print('#{} .. 2020. 12. 10.