Python 53

[몸풀기] 자릿수 더하기(22.09.01)

문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 나의 풀이 def solution(n): a = list(map(int, str(n))) answer = 0 for i in range(len(a)): answer += a[i] # [실행] 버튼을 누르면 출력 값을 볼 수 있습니다. return answer 다른사람의 풀이 def sum_digit(number): return sum([int(i) for i in str(number)]) # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(sum_digit(123)));

Python/algorithm 2022.09.01

[몸풀기] 핸드폰 번호 가리기 22.08.31

문제 = 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 내 코드 def solution(phone_number): head_number = phone_number[:-4] return f"{head_number.join('*')*len(head_number)}{phone_number[len(head_number):]}" #phone_numberreturn #"01033334444""*******4444" #"027778888""*****8888" 다른 사람의 코드 def hide_numbers(s): return "*"*(len(s)-4) + s[-4:] # 아래는 테스트로 ..

Python/algorithm 2022.08.31

[몸풀기] 문자열 내 p와 y의 개수 (22.08.29)

문제 : 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 나의 코드 def solution(s): s = s.lower() # 소문자와 대문자는 아스키코드로 보았을때 다른 것이다. if s.count('p') == s.count('y'): return True else: return False 다른 사람 풀이 참조 코드 def solution(s): return s.lower().count('p') == s.lower().count('y') 결..

Python/algorithm 2022.08.29

Django 모델 ForeignKeyField on_delete 종류

CASCADE : FK로 참조하는 레코드가 삭제 될 경우 해당 레코드를 삭제한다. SET_NULL : FK 필드의 값을 Null로 변경해준다. null=True가 정의되어 있어야 사용 가능하다. PROTECT : 해당 레코드가 삭제되지 않도록 보호해준다. SET_DEFAULT : FK 필드의 값을 default로 변경해준다. default=””가 정의되어 있어야 사용 가능하다. SET() : FK 필드의 값을 SET에 설정된 함수를 통해 원하는 값으로 변경할 수 있다. DO_NOTHING : 아무런 동작을 하지 않는다. 참조 관계의 무결성이 손상될 수 있기 때문에 권장하지 않는다.

Python/Django 2022.06.13

Immutable, Mutable

파이썬에서 객체는 수정 가능한 타입도 있고 수정 불가능한 타입도 있습니다. 여기서 수정 불가능한 객체를 immutable 객체라고 부르고 수정 가능한 객체를 mutable 객체라고 부릅니다. 우리가 알고 있는 파이썬 기본 데이터 타입 중 정수, 실수, 문자열, 튜플이 대표적인 immutable 객체 리스트와 딕셔너리가 mutable 객체입니다. 구분타입 Immutable 객체 int, float, str, tuple Mutable 객체 list, dict

Python 2022.06.07

Class 예제(3) - 원통의 표면적, 부피

원통의 부피 공식 Volume of cylinder=πr²h 3.14 * (radius**2) * height 원통의 표면적 공식 Surface Area of a Cylinder = 2πr² + 2πrh 2*(3.14*(radius**2)) + 2*(3.14 * radius * height) class Cylinder: pi = 3.14 def __init__(self,height=1,radius=1): self.height = height self.radius = radius #부피 def volume(self): #round로 소수점 2자리까지 출력 return round(Cylinder.pi * (self.radius**2) * self.height, 2) #표면적 def surface_area(s..

Python 2022.05.17

Class 예제(2) - 두 점 사이의 거리, 기울기

두 점 사이의 거리 구하는 공식 파이썬에서 표현 시 d = ( (x2 - x1)**2 + (y2 - y1)**2 )**0.5 주어진 선의 기울기 구하는 공식 m = (y2-y1)/(x2-x1) 문제 ) class Line: def __init__(self,coor1,coor2): self.coor1 = coor1 self.coor2 = coor2 # 두 점 사이의 거리 def distance(self): x1,y1 = self.coor1 x2,y2 = self.coor2 return ((x2-x1)**2 + (y2 - y1)**2)**0.5 # 두 점사이 거리 직선의 기울기 def slope(self): x1,y1 = self.coor1 x2,y2 = self.coor2 return (y2 - y1)/(..

Python 2022.05.17

Class 예제 (1) - 은행 계정 클래스

다음 두 가지 특성, 두가지 메서드를 가진 은행 계정 클래스를 만드십시오. -Attirbutes -owner ( 예금주 ) -balance ( 예금액 ) -Method -deposit (입금 기능) -withdraw (출금 기능) 추가적으로 , 인출은 사용가능한 예금액을 초과할 수 없습니다. class Account: def __init__(self, owner, balance = 0): self.owner = owner self.balance = balance #입금 메서드 def deposit(self,cash): self.balance += cash print(f'{cash}원이 입금 되었습니다. 현재 잔액은 {self.balance}원 입니다.') #출금 메서드 def withdraw(self,c..

Python 2022.05.17

OOP (객체지향 프로그래밍)

객체지향 프로그래밍(OOP) 이란 프로그램을 여러 객체로 만들고 객체 간의 상호작용을 통해 로직을 구현하는 방법이다. 객체지향 프로그래밍을 사용하면 사용자는 각자의 메소드와 속성을사용하여 자신만의 객체를 만들 수 있다 객체란 속성과 행동으로이루어진 것 변수와 함수로 나타낸다 객체지향 프로그래밍이 가지는 장점으로는 상속을 통해서 코드 재사용이 용이 일일이 찾을 필요 없이 클래스 내부의 메서드나 변수를 수정하면 되기에 유지보수에 있어 수월함 클래스로 모듈화를 시켜 개발할수 있어서 대형 프로젝트에 유리함 단점으로는 설계시 시간이 많이 들고 객체가 많아질 경우 용량이 커진다고 한다 객체 지향 프로그래밍 특징 1) 클래스 + 인스턴스(객체) Class 는 객체를 만들기위한 청사진 인스턴스는 클래스에서 정의 한것을..

Python 2022.05.17