전체 글
-
일급함수개발 모음집/Python 2022. 5. 30. 16:52
다양한 매개변수 입력 (*args, **kwargs) *args 는 튜플로 받고, **kwargs는 딕셔너리로 받는다. def args_test(name, *contents, point=None, **attrs): return ' -> ({}) ({}) ({}) ({})'.format(name, contents, point, attrs) print('EX5-3 -', args_test('test1', 'test2', 'test3', id='admin') print('EX5-4 -', args_test('test1', 'test2', 'test3', id='admin', point=7) print('EX5-5 -', args_test('test1', 'test2', 'test3', id='admin', p..
-
[프로그래머스] [1차] 캐시개발 모음집/Programmers 2022. 5. 30. 16:45
코딩테스트 연습 - [1차] 캐시3 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju", "Pangyo", "Seoul", "NewYork", "LA"] 50 3 ["Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul"] 21 2 ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco", "Seoul", "Roprogrammers.co.kr내 풀이def solution(cacheSize, cities): answer = 0 cache_list = list() for city in cities: ..
-
파이썬 최대공약수와 최소공배수 알고리즘개발 모음집/Docs 2022. 5. 26. 14:47
최대공약수란 ? GCD (Greatest Common Divisor) Common Divisor → 라는 이름에서 알 수 있듯이 두 수 혹은 그 이상의 여러 수의 공통인 약수 중, 최대인 것. 즉, 수들의 각각의 약수 중 공통이며 가장 큰 수를 최대공약수라고 한다. 8 의 약수 - 1,2,4,8 10 의 약수 - 1,2,5,10 8과 10의 공통 약수 : 1,2 중 가장 큰 수 : 2 8과 10의 최대공약수 : 2 최소공배수란? LCM (Least Common Multiple) 두 수, 혹은 그 이상의 수들의 공통인 배수 중 최소, 가장 작은 수. 즉, 수 들의 각각의 배수 중 공통이며 가장 작은 수를 최소공배수라고 한다. 10의 배수 : 10,20,30,40,50,60,70,80,90,100,110,1..
-
파이썬 2진수, 8진수, 10진수, 16진수 변환개발 모음집/Python 2022. 5. 26. 14:41
먼저 파이썬은 기본 10진수이기 때문에 다른 진수는 아래와 같이 접두어가 붙습니다. 2진수: 0b 8진수: 0o 16진수: 0x 10진수에서 2진수, 8진수, 16진수 변환 bin(), oct(), hex() 내장함수 사용 파이썬에서 제공하는 내장함수를 사용하면 쉽게 변환 할 수 있습니다. value = 60 b = bin(value) o = oct(value) h = hex(value) print(b) print(o) print(h) # 0b111100 # 0o74 # 0x3c 결과는 전부 문자열 타입입니다. format() 내장함수 사용 forrmat() 내장함수를 사용하여 위 결과와 마찬가지로 변환할 수 있습니다. value = 60 b = format(value, '#b') o = format(v..
-
소수 (Prime Number) 판별개발 모음집/Docs 2022. 5. 26. 14:35
소수란 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어떨어지지 않는 자연수이다 6은 1, 2, 3, 6으로 나누어떨어지므로 소수가 아니다 7은 1과 7을 제외하고는 나누어떨어지지 않으므로 소수이다 코딩 테스트에서는 어떠한 자연수가 소수인지 아닌지 판별해야 하는 문제가 자주 출제된다 소수의 판별: 기본적인 알고리즘 (Python) # 소수 판별 함수(2이상의 자연수에 대하여) def is_prime_number(x): # 2부터 (x - 1)까지의 모든 수를 확인하며 for i in range(2, x): # x가 해당 수로 나누어떨어진다면 if x % i == 0: return False # 소수가 아님 return True # 소수임 print(is_prime_number(4)) #..
-
[프로그래머스] 땅따먹기개발 모음집/Programmers 2022. 5. 26. 14:24
코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 내 풀이 1차시도 실패 def solution(land_list): answer = 0 index = -1 for land in land_list: if index != land.index(max(land)): answer += max(land) else: land.remove(max(land)) answer += max(land) index = land.index(max(land)) return answer DP를 이용하는 문제이다. 맨 위..
-
추상클래스(abstract class)개발 모음집/Python 2022. 5. 25. 17:14
1. 추상클래스(abstarct class)란 추상클래스란 미구현 추상메소드를 한개 이상 가지며, 자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제합니다. 상속받은 클래스는 추상메소드를 구현하지 않아도, import할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생합니다. 추상클래스를 만들기 위한 형식은 아래와 같습니다. 반드시 abc 모듈을 import 해야합니다. 추상메소드는 생략하면 기본적인 클래스 기능은 동작합니다만, 추상메소드를 추가한 후에는 객체를 생성하면 에러가 발생합니다. from abc import * class 추상클래스명(metaclass=ABCMeta): @abstractmethod def 추상메소드(self): pass 2. 추상클래스(abstract class..
-
파이썬 람다식개발 모음집/Python 2022. 5. 25. 17:09
메모리 절약, 가독성 향상, 코드 간결 lambda 매개변수들: 식 람다표현식 (익명함수) lambdaAdd = lambda n, m: n + m print(lambdaAdd(2,3)) #5 print(lambdaAdd(4,5)) #9 print((lambda n, m: n if n % 2 == 0 else m)(1, 3)) #3 print((lambda n, m: n if n % 2 == 0 else m)(2, 3)) #2 함수 vs 람다 함수는 객체 생성 → 리소스(메모리) 할당 람다는 즉시 실행(Heap 초기화) ⇒ 메모리 초기화 def plus_ten(x): return x + 10 plus_ten(1) # 11 plus_ten = lambda x: x + 10 plus_ten(1) # 11 (l..