본문 바로가기

분류 전체보기265

[프로그래머스] 연습, Python | 두 개 뽑아서 더하기 두 개 뽑아서 더하기 답: 더보기 def solution(numbers): answer = [] while numbers: now = numbers.pop() for n in numbers: answer.append((now + n)) return sorted(list(set(answer))) # 여기 주의 def solution(numbers): answer = [] while numbers: now = numbers.pop() for n in numbers: r = now + n if r in answer: continue else: answer.append(r) return sorted(answer) 문제 분석 및 해석 정수 배열 numbers가 주어질 때 numbers내 서로 다른 인덱스에 있는 .. 2024. 3. 8.
[tutorial] Jinja2 : Python template language ** 2.x.x의 공식문서와 3.x.x의 공식문서 및 위키독스를 참고하였음 공식문서 : https://jinja.palletsprojects.com/en/3.1.x/intro/ Jinja2는 Python에서 사용되는 템플릿 엔진으로, 현대적이고 디자이너 친화적인 템플릿 언어이다. Django template에서 영감을 받았으며, Flask같은 웹 프레임워크에서 HTML 템플릿을 렌더링하는 데 주로 사용되지만 여러 텍스트 파일을 생성하는 데도 사용할 수 있다. Django template처럼 for문, if문을 활용해 동적인 콘텐츠를 생성할 수 있으며, 변수를 치환하는 표현식을 이용한다. Jinja2는 어플리케이션 로직이 Python 로직에 모두 속하게 하는 것과 디자이너의 작업이 언어로 인해 제한되지 .. 2024. 2. 21.
[CS] 디자인 패턴 Design Pattern - 1 - ** 프리온보딩 강의 및 개인 공부를 하면서 정리한 글로 부족한 부분이 있을 수 있습니다. 예쁜말 지적 환영 객체지향은 객체를 중심으로 프로그래밍을 하는 프로그래밍 패러다임을 뜻한다. 객체지향 프로그래밍에서 객체들은 능동적인 존재가 된다. 객체들은 공동체를 만들어 서로 상호작용하며 기능을 제공하게 되었으며, 그 상호작용은 ‘메세지’로 이루어진다. 객체 지향 세계에서 독점은 없다. 필요한 기능들을 쪼개어 객체에 분배하고 객체 간의 적절한 협력을 이루는 것이 application의 목표이기에, 혼자 모든 것을 가지고있는 객체는 없다. 마치 맥도널드 시스템처럼 주문 / 패티 / 햄버거 조립 / 감자튀김 담당으로 기능이 쪼개져있게 된 것이다. 객체지향에서의 협력과 책임, 역할을 조금 더 자세히 살펴보자. 협력 .. 2024. 2. 16.
[알고리즘] 프로그래머스 lv.1 | 붕대 감기 붕대 감기 답: 더보기 def solution(bandage, health, attacks): t, x, y = bandage hp = health 이전공격시간 = 0 for attack in attacks: 공격시간, 피해량 = attack 스킬시전시간 = (공격시간 - 이전공격시간) 시간 = 1 연속성공 = 0 if 스킬시전시간 > 1: while 시간 = t: hp += y 연속성공 = 0 if hp >= health: hp = health 시간 += 1 print(시간, hp, 연속성공) hp -= 피해량 if hp > 풀이생각 1) 이전공격시간을 선언, for문 끝날때 저장하고, 스킬시전시간을 계산 이전공격시간 .. 2024. 2. 13.