본문 바로가기

Python19

파이썬 진수 변환 ● 10진수 → 2진수 10진수인 임의의 수를 2진수로 변환하려면 아래와 같이 코드를 작성할 수 있다. n = int(input()) digits = [] while True: if n 0: digit = N % B N = N // B result.append(digit) for i in range(len(result) - 1, -1, -1): print(result[i], end = "") 10진수 N과 바꿀 진수인 B를 입력받아서 진수를 변환하여 출력해주는 코드이다. ● int() (N진수 → 10진수) 위와 같이 직접적으로 코드를 구현하여 진수를 변환할 수 있지만, 파이썬에서는 내장함수 int()를 지원한다. int()는 형변환시 많이 사용하지만 진수변환도 가능하다. int(string, base)..
파이썬 class 객체 정렬 class의 객체를 특정 기준에 따라 정리하기 위해서는 지난 글에서 다뤘던 람다 함수의 개념을 알아야 한다. https://devwon-1999.tistory.com/46 파이썬 람다(lambda) 함수 람다함수는 코드의 간결화와 메모리 절약을 위해 사용하는 이름이 없는 익명 함수이다. 일반함수 임의의 값을 인자 값으로 넘겨받아 10을 곱한 뒤 반환하는 함수는 아래와 같이 작성할 수 있다. devwon-1999.tistory.com ● 기본 코드 class student: def __init__(self, name, height, weight): self.name = name self.height = height self.weight = weight students = [ student("Kim", 16..
파이썬 람다(lambda) 함수 람다함수는 코드의 간결화와 메모리 절약을 위해 사용하는 이름이 없는 익명 함수이다. 일반함수 임의의 값을 인자 값으로 넘겨받아 10을 곱한 뒤 반환하는 함수는 아래와 같이 작성할 수 있다. def f(x): return x * 10 print(f(10)) 람다함수 f = lambda x: x * 10 print(f(3)) 람다함수로 작성하면 위와 같다. 인자 값이 하나 인 경우 lambda 뒤에 x를 적어주고 : 붙여 반환할 값을 적어준다.
파이썬 N까지의 소수 개수 구하기 파이썬에서 1 ~ N까지의 소수 개수를 구할때는 아래와 같이 작성할 수 있다. n = int(input()) result = [] for i in range(2, n + 1): temp = [] for j in range(1, i + 1): if i % j == 0: temp.append(j) if len(temp) == 2: result.append(i) print(len(result)) 하지만 위 코드는 각 숫자마다 모든 약수를 구하고, 그 약수의 개수를 확인하는 부분이 시간 복잡도를 크게 증가시킨다. 해당 문제를 해결하기 위해서는 에라토스테네스의 체를 이용하면 된다. 에라토스테네스의 체는 임의의 수 n 에 대해서 그 이하의 소수를 모두 찾는 간단하면서 빠른 방법이다. 먼저 임의의 수를 100이라고 ..
파이썬 두 수의 최소공배수 최소공배수는 두 수에 서로 공통으로 존재하는 배수 중 가장 작은 수를 뜻한다. 파이썬 코드로 구현해보면 a, b = map(int, input().split()) for i in range(1, a * b + 1): if i % a == 0 and i % b == 0: print(i) break 위와 같이 간단하게 구할 수 있다. 하지만 해당 코드는 숫자가 커질수록 코드의 효율이 떨어진다. 최소공배수를 빠르게 찾기 위해선 유클리드 호제법을 사용할 수 있다. 유클리드 호제법이란 간단히 말해 두 수의 최대 공약수를 구하는 방법이다. 자세히 말하면 두 정수 (a > b > 0)에 대하여 a = bq + r (0
Python 클래스와 객체 클래스는 같은 객체들을 만들 수 있는 틀이고 객체는 만들어진 결과물이다. ● 클래스 선언 class 클래스명: 코드 파이썬에서 클래스의 선언은 위와 같이 한다. ● 생성자 함수 class identity: def __init__(self, name, sn, address): self.name = name self.sn = sn self.address = address 위 클래스는 이름, 주민번호, 주소를 갖은 객체를 생성할 수 있는 identity 클래스이다. __init__ 함수는 생성자 함수이며 객체가 생성시 1회 호출되는 함수이다. 함수의 인자값인 self는 항상 첫번째에 넣어주며 해당 객체를 의미한다. 그 이후에 오는 것은 멤버 변수라고 한다. 객체 생성시에 값을 넘겨받으며 self를 통해 해당 ..