본문 바로가기

백준8

백준 2609 [파이썬] (유클리드호제) #1 유클리드호제법을 이용한 풀이 a,b = map(int,input().split()) # 최대공약수 # a & b의 최대 공약수는 b & a를 b로 나눈 나머지의 최대 공약수 def gcd(a, b): while b > 0: a, b = b, a % b return a # 최소공배수 # a와 b의 곱을 a와 b의 최대 공약수로 나눈 값 def lcm(a, b): return a * b // gcd(a, b) print(gcd(a, b)) print(lcm(a, b)) #2 내장함수를 이용한 풀이 import math a, b = map(int, input().split()) print(math.gcd(a, b)) print(math.lcm(a, b)) 유클리드호제 ? 유클리드 호제법은 최대공약수를 구.. 2023. 3. 20.
백준 1929 [파이썬] (에라토스테네스의 체) def isPrime(num): if num==1: return False else: for i in range(2, int(num**0.5)+1): if num%i == 0: return False return True M, N = map(int, input().split()) for i in range(M, N+1): if isPrime(i): print(i) 소수는 자신과 1로만 나누어 떨어져야 한다. 해당 수의 제곱근까지만 나누어 보면 알 수 있는데 (num**0.5) 약수가 대칭으로 이루어져있기 때문이다. 24의 약수는 1 2 3 4 6 8 12 24 로 대칭 16의 약수는 1 2 4 8 16 8의 약수는 1 2 4 8 로 대칭 제곱근보다 같거나 작은 수 까지만 나누어 보아도 소수인지 확인이 가.. 2023. 3. 20.
백준 2750 [파이썬] (len,버블,삽입) #1 버블정렬 n=int(input()) numbers = [] for _ in range(n): numbers.append(int(input())) for i in range(len(numbers)) : for j in range(len(numbers)): if numbers[i] < numbers[j]: numbers[i], numbers[j] = numbers[j], numbers[i] for n in numbers: print(n) 1. n으로 정렬하고 싶은 숫자의 개수를 입력받는다. 2. n번 동안 해당 숫자들을 numbers라는 리스트에 append한다. 3. 인접한 두 개의 원소를 비교하는 버블정렬을 통해 크기에 따라 위치를 서로 바꿔준다. #2 삽입정렬 n=int(input()) numbe.. 2023. 1. 26.
백준 2587 [파이썬] 파이썬의 기본 내장 함수들을 이용한 풀이 x = [] for i in range(5): x.append(int(input())) x.sort() print(int(sum(x)/5)) print(x[2]) 버블정렬을 이용한 풀이 numbers = [] result=0 for i in range(5): #1 numbers.append(int(input())) for i in range(0, len(numbers)) : #2 result = result + numbers[i] i=i+1 for a in range(len(numbers)): #3 for b in range(len(numbers)): if numbers[a] 2023. 1. 18.
sort()함수와 sorted()함수 sort함수? sorted함수? #1 sort함수 list.sort() 메서드는 list 객체 자체를 정렬해주는 함수이다. (리스트에만 사용가능, 리스트 객체의 멤버함수이기 때문) sort함수는 기본적으로 리스트를 오름차순으로 정렬해주는 기능을 한다. numbers = [2, 5, 1, -9, -83, 56, 23, 210] numbers.sort() print(numbers) #[-83, -9, 1, 2, 5, 23, 56, 210] 소문자는 abcd 순으로 정렬된다. 대문자는 ABCD 순으로 모두 나온 후 소문자 abcd 순으로 정렬된다. 내림차순으로 정렬하고 싶을 때는 sort(reverse=True)라고 적는다. 리스트.sort(reverse=False)가 디폴트 값이므로 True로 적어야 내림차.. 2023. 1. 18.
백준 2738 [파이썬] (map) A=[] B=[] row,col = map(int,input().split()) #행렬의 크기를 입력받기 for r in range(row): r=list(map(int,input().split())) A.append(r) for r in range(row): r=list(map(int,input().split())) B.append(r) for r in range(row): for c in range(col): print(A[r][c]+B[r][c], end=' ') print() 3 3 1 1 1 2 2 2 4 4 4 0 1 0 > 6 6 6 3 3 3 5 6 100 4 4 4 5 5 100 1. 한 행씩 입력을 받으므로 r에 한 행을 저장해준다 2. 이를 행의 크기(3)만큼 반복하여 입력받는다 3... 2023. 1. 15.