본문 바로가기
728x90

수학8

[백준] 5347번: LCM - python https://www.acmicpc.net/problem/5347 5347번: LCM 첫째 줄에 테스트 케이스의 개수 n이 주어진다. 다음 n개 줄에는 a와 b가 주어진다. a와 b사이에는 공백이 하나 이상 있다. 두 수는 백만보다 작거나 같은 자연수이다. www.acmicpc.net 간단한 최소공배수 문제 간만에 최소공배수를 어떻게 구해야했는지 상기시킬 수 있었던 문제였다. 아이디어는 a * b 를 한 다음에 빼나가면서 작은게 0이면 그 나머지 값으로 나누는 아이디어다. n = int(input()) for i in range(n): a, b =map(int,input().split()) tmp = 0 s = a * b while b: tmp = b b = a % b a = tmp print(s // .. 2024. 4. 4.
[백준] 6359번: 만취한 성범 - python https://www.acmicpc.net/problem/6359 6359번: 만취한 상범 한 줄에 한 개씩 각 테스트 케이스의 답, 즉 몇 명이 탈출할 수 있는지를 출력한다. www.acmicpc.net 작년 아는 친구 형이 삼성SDS 최종 면접에서 물어봤다고 한 알고리즘 그래서 열심히 풀었다. 해보니 나눠지는 약수의 개수가 홀수 개이면 열려있는 걸로 판단하여 아리스토테네스 체를 활용하여 계산한 다음 마지막에 홀수인 것만 카운트 하여 출력하는 로직으로 설계하였다. T = int(input()) for _ in range(T): cnt = 0 n = int(input()) #n개의 방 0은 닫 1은 열림 arr = [0] * (n+1) #1라운드 1 1 1 1 1 #2라운드 1 0 1 0 1 #3라운드 .. 2024. 4. 3.
[백준] 2960번: 에라토스테네스의 체 - python https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 힘든 화요일을 위해 에라스토스테네스의 체 복기 카운트로 개수를 세주고 같으면 출력 n, k = map(int, input().split()) arr = [1] * (n+1) cnt = 0 for i in range(2, n+1): if arr[i] == 1: #아직 안지웠으면 for j in range(i, n+1, i): if arr[j] == 1: cnt+=1 if cnt == k: print(j) break arr[j]+=1 #i씩 증가시키면서 지운다. 완성 2024. 4. 2.
[백준] 2292번: 벌집 - python https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 간단한 수학문제 육각형으로 둘러쌓이는 벌집에서 가는 거리를 측정하는 문제다. 6의 배수로 증가하면서 둘러쌓이므로 n-=6*i로 빼면서 증가시키면 답이 나온다. n = int(input()) cnt = 1 i=1 while n>1: n-=6*i cnt+=1 i+=1 print(cnt) 2024. 4. 2.
728x90