목록2025/12/22 (7)
cmod.ify
Encapsulation(캡슐화)불필요한 부분을 외부 노출하지 않기클래스와 인스턴스를 어떻게 만들 것인가?Inheritance(상속) 상위 클래스의 모든 요소를 하위 클래스가 물려 받는 것(상위 클래스가 물려주는 것 xxx)중복제거 : 같이 바꿔야 하는 값을 실수없이 변경 가Framework Library 사용Polymorphism(다형성)동일한 코드가 호출하는 대상에 따라 다른 작업을 수행하는 것abstrat(추상화)Class 구성Attribute : 데이터Method : 작업Class와 InstanceClass: 자료형, 불변Instance: 자료형을 기반으로 메모리를 할당받은 데이터 - 동적Instance 생성 : 클래스이름([데이터])Attribute클래스 속성 (Class Attribute): ..
1. 스네이크 케이스 (snake_case)파이썬에서 대부분 사용하는 방식전부 소문자로 쓰고, 단어 사이를 언더바(_)로 연결변수명: user_name, age, std_info함수 및 메서드명: print_info(), get_name(), set_address()모듈/패키지명: math_tools.py2. 파스칼 케이스 (PascalCase)클래스 이름을 지을 때만 사용단어의 첫 글자를 대문자로 쓰는 방식클래스명: Student, HighSchoolStudent, DataProcessor3. 전체 대문자 (UPPER_SNAKE_CASE) '상수' 표현상수: PI = 3.14, MAX_SPEED = 100
11726 번 문제에서 2개만 바꾸면 된다1) 초깃값 fibo[2] = 32) 점화식 fibo[i-2]*2 점화식을 바꾼 이유는 ㅣ자 바가 하나로 합쳐진게 생겼다고 해서 ㅣ자 바 모양을 가진 fibo[i-2]를 두배했다. import sysinput = sys.stdin.readlinen = int(input())fibo = [0] * 1002fibo[0]=0fibo[1] = 1fibo[2] = 3for i in range(3,1002): fibo[i] = (fibo[i-1] + fibo[i-2]*2) %10007print(fibo[n])
괄호 안 쳤다가 틀렸었다 import sysinput = sys.stdin.readlinen = int(input())fibo = [0] * 1002fibo[0]=0fibo[1] = 1fibo[2] = 2for i in range(3,1002): fibo[i] = (fibo[i-1] + fibo[i-2]) %10007print(fibo[n])
혹시나 했지만 역시나 시간 초과 풀이import sysinput = sys.stdin.readlinen,m = map(int, input().split())nlist = list(map(int, input().split()))for _ in range(m): first, second = map(int, input().split()) sum = 0 for i in range(first-1, second): sum += nlist[i] print(sum) 시간을 줄일 수 있는 방법이 뭐가 있을까 고민했는데그냥 절반으로 줄여서 실행해봤다.이 때 양옆의 값에서부터 가운데로 왔다. 홀수면 가운데 값만 하나 추가해봤다.이것도 시간초과가 났다 ㅜimport sysinput = sys..
딕셔너리 문제라는 것을 알았다.조합이라는 것도 알았는데 문법 측에서 좀 약한 것 같다 dress[kind] = dress.get(kind, 0) + 1 get()함수로 key값을 가져올 수 있으면 가져오고 아니라면 0으로 설정한다.가져왔다면 1개를 더한다. 경우의 수를 구할 땐옷 입는 종류를 곱하는 방법으로 생각했는데 제미나이가 다른 방법을 알려줬다.옷을 안 입는 경우도 하나로 계산하는 방법이다.ex상의 : 2벌하의 : 3벌이라고 입력을 받았을 때 2*3 으로 계산한 경우 6가지이다근데 안입는 경우도 생각했을 때 1개씩 더 한다. 2*4 = 12가지인데 이 안에 안입는 공통적인 한가지를 포함하여 모든 경우의 수가 들어있다. 그래서 모든 옷에 1개씩 더하고 마지막 공집합 1을 빼면 된다. 전체에서 꼴 보..
1일 때 1,2일 때 2,3일 때 4,4일 때 7, .... i 번째 데이터는 i-1 + i-2 + i-3 의 값을 더하면 된다import sysinput = sys.stdin.readlinet = int(input())d = [0 for _ in range(12)]d[1] = 1d[2] = 2d[3] = 4for i in range(4, 12): cnt = d[i-1] + d[i-2] + d[i-3] d[i] = cntfor _ in range(t): n =int(input()) print(d[n])
