View
아침 코드카타 리뷰를 못했다
왜냐면 난 꿀잠을 잤기 때문이다
왕지각했다.
그래서 블로그에 쓴다
def solution(slice, n):
if n > slice: # n명이 slice보다 많은 경우를 확인
if n % slice == 0: # 정확히 나눠떨어질 때
return n // slice
return n // slice + 1 # 나머지가 있다면 한 판 추가
return 1 # n이 slice 이하일 경우 한 판이면 충분
쟝고 하면서 파이썬이 는 건가?
뻥 안치고 내가 풀었따..
처음에는 이렇게 저렇게 하다가 이러면 더 깔끔할텐데 하고 나온 결과물임 ㄷㄷ
그래서 지피티한테 자랑했는데
지피티가 엄청난 걸 보여줌
def solution(slice, n):
return (n + slice - 1) // slice
이게 뭐지..?
수학적 최적화: (n + slice - 1) // slice는 n을 slice로 나눈 뒤 올림한 결과와 같습니다.
...??? 왜 같아..? 근데 같대...
신기해서 기록함..
그니까 피자가 8조각으로 오는데, 사람이 333명이면 몇 판 시켜야 할까? 하면
8 + 333 - 1 // 8 하면 된다고..?
340//8 = 42 판 시키면 된다고..?
333//8 + 1 헐.. 진짜 똑같다... 수학적으로 왜 그런지 파보고 싶지 않아서 여기서 그만두겠어.
5명씩
def solution(names):
answer = []
for i in range(len(names)):
if i % 5 == 0:
answer.append(names[i])
return answer
정수 start_num와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
def solution(start_num, end_num):
return list(range(start_num, end_num - 1, -1))
문제를 다시 정리
- 목표: start_num부터 end_num까지 1씩 감소하는 숫자들을 리스트로 반환.
- 예: start_num = 10, end_num = 5 → [10, 9, 8, 7, 6, 5]
- 구현 방식:
- 숫자를 감소시키려면 range 함수를 사용하며, -1이라는 감소 간격(step)을 지정합니다.
- range(start, stop, step):
- start: 시작 숫자.
- stop: 끝나는 숫자. 여기에는 포함되지 않으므로 end_num - 1을 사용.
- step: 증가(양수) 또는 감소(음수)의 간격.
프로그래머스 몇개 했지..? 잘 모르겠다
동생이 미용 배우고 있는데 나한테 사진을 보내왔다.
사진주의 마네킹인데 좀 무서움
그래서 답장해주었다
쟝고 하자 django
GPT한테 쟝고 실습하게 뭐 만들게 도와달라고 했다.
나는 to do list를 만들기로 했다
1. Django 프로젝트 시작
1) 프로젝트 생성
django-admin startproject myproject
cd myproject
2) 앱 생성
python manage.py startapp todo
3) 앱 등록
myproject/settings.py에서 INSTALLED_APPS에 todo 추가:
INSTALLED_APPS = [
...,
'todo',
]
2. 모델 설계
todo/models.py
간단한 작업 모델을 정의:
from django.db import models
class Task(models.Model):
content = models.CharField(max_length=255)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.content
데이터베이스에 반영
- 마이그레이션 생성:
python manage.py makemigrations
- 마이그레이션 적용:
python manage.py migrate
3. 뷰(View)와 URL 연결
1) 뷰 작성 (todo/views.py)
from django.shortcuts import render, redirect
from .models import Task
def index(request):
tasks = Task.objects.all()
return render(request, 'todo/index.html', {'tasks': tasks})
def add_task(request):
if request.method == 'POST':
task_content = request.POST.get('content')
if task_content:
Task.objects.create(content=task_content)
return redirect('/')
2) URL 설정 (todo/urls.py)
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('add/', views.add_task, name='add_task'),
]
3) 프로젝트 URL 연결 (myproject/urls.py)
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('todo.urls')),
]
4. 템플릿 작성
디렉토리 생성
todo/templates/todo/index.html 파일을 생성.
기본 HTML 작성
<!DOCTYPE html>
<html>
<head>
<title>Todo List</title>
</head>
<body>
<h1>Todo List</h1>
<form method="POST" action="/add/">
{% csrf_token %}
<input type="text" name="content" placeholder="Enter a new task">
<button type="submit">Add</button>
</form>
<ul>
{% for task in tasks %}
<li>{{ task.content }}</li>
{% endfor %}
</ul>
</body>
</html>
5. 결과 확인
- 서버 실행:
python manage.py runserver
- 브라우저에서 http://127.0.0.1:8000/로 접속.
난 이게 익숙치 않아서 반복해보려고 한다...
쟝고하러감 ㅂㅇ
'TIL' 카테고리의 다른 글
내일배움캠프 본캠프 27일차 (0) | 2025.01.02 |
---|---|
내일배움캠프 본캠프 26일차 - GPT에게서 온 편지 (2) | 2024.12.31 |
내일배움캠프 4주차 WIL (3) | 2024.12.27 |
내일배움캠프 본캠프 24일차 - 과제2, 쟝고 시작 (4) | 2024.12.27 |
내일배움캠프 본캠프 23일차 - 이상치 처리 (0) | 2024.12.26 |