1. 프로그래머스 LV1 - 콜라츠 추측
문제점
1-1. 입력된 수가 짝수라면 2로 나눕니다.
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요.
단,주어진 수가 1인 경우에는 0을,
작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요.
# 입력된 수를 짝수, % 2 <- // 2
# 입력된 수가 홀수, *3 +1
# 이 작업을 1이 될때까지 반복
# 반복 횟수 500 이하인 경우 반복 횟수 출력
# 주어진 값이 1인 경우 0 출력
# 반복 횟수 500 이상인 경우 -1 출력
시도해 본 것들
def solution(num):
answer = 0
if num == 1:
return 0
while num > 1:
answer += 1
# 짝수일 때
if num % 2 == 0:
num = num % 2
else:
num = num * 3 + 1
if answer == 500:
return -1
else:
continue
return answer
반복문이 바로 멈추는 현상 발생
if num % 2 == 0:
num = num % 2
print(num)
출력을 살펴본 결과 짝수 if문 진입시 멈춤
print(num)을 찍어본 결과 0 출력
num % 2를 num // 2로 변경
해결 방법
def solution(num):
answer = 0
if num == 1:
return 0
while num > 1:
answer += 1
# 짝수일 때
if num % 2 == 0:
num = num // 2
else:
num = num * 3 + 1
if answer == 500:
return -1
return answer
알게 된 점
2. Django - 개인과제
urls.py
'read/1'으로 요청을 했을 경우의 흐름
# main이 되는 파일
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls')),
]
'read/1'으로 요청이 오면 myapp.urls로 이동
# myapp에있는 views를 사용하겠다.
from myapp import views
urlpatterns = [
# path(url주소, 모듈명.함수명)
# <>는 가변 데이터
path('read/<id>/', views.read)
]
read를 찾아서 views.read로 이동
# id는 가변 데이터를 전달 하기 위한 매개 변수
def read(request, id):
global topics
article = ''
for topic in topics:
if topic['id'] == int(id):
article = f'<h2>{topic["title"]}</h2>{topic["body"]}'
return HttpResponse(HTMLTemplate(article))
read 함수를 실행 클라이언트로 return 반환
Django는 이전 팀 프로젝트 import 이슈보다 더 막막한 기분이든다.
'개발일지 > TIL' 카테고리의 다른 글
TIL 23-04-07 (2) | 2023.04.07 |
---|---|
TIL 23-04-06 (0) | 2023.04.06 |
TIL 23-04-04 (0) | 2023.04.04 |
TIL 23-04-03 (2) | 2023.04.03 |
TIL 23-04-02 (0) | 2023.04.02 |