Python 21

[프로그래머스] 시저암호 -python

https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ord함수를 이용하면 금방 풀 수 있는 문제 ! def solution(s, n): result = '' for char in s: if char.isalpha(): # 알파벳인 경우에만 처리 if char.isupper(): # 대문자인 경우 result += chr((ord(char) - ord('A') + n) % 26 + ord('A')) else: # 소문자인 경우 result += ch..

프로그래머스 2024.03.12

[프로그래머스] 최소직사각형 - python

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 굉장히 수학적인 문제 def solution(sizes): answer = 0 max_w , max_h = 0 , 0 for i in sizes: a, b = i # 가로와 세로 중 더 큰 값 중 제일 큰 값 max_w = max(max_w, max(a,b)) # 가로와 세로 중 더 작은 값 중 제일 큰 값 max_h = max(max_h, min(a,b)) answer = max_w * max_..

프로그래머스 2024.03.11

[프로그래머스] 예산 - python

https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 부분합 문제 1. 정렬한다 2. 정렬한 리스트의 부분합 리스트를 만든다 3. 그 구간들을 가지고 계산을 한다 ! def solution(d, budget): # 부분합이 budget 이하인 가장 많은 부분은 몇 개? d.sort() start = 0 end = 1 pre_sum = [0]*(len(d)+1) for i in range(1,len(pre_sum)): pre_sum[i] = ..

프로그래머스 2024.03.05

[프로그래머스] 3진법 뒤집기 - python

https://school.programmers.co.kr/learn/courses/30/lessons/68935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 코테푸니까 진법도 못하겠더라요 . . . 1. 10진법을 3진법으로 바꾸는 함수 만들기 2. 뒤집어서 10진법으로 반환 def thr(n): if n == 0 : return '0' result='' while n > 0 : n, x = n//3, n%3 result = str(x) + result return result def solution(n): answer = int(thr(n)..

프로그래머스 2024.03.05

[백준] 2839 설탕 배달 - python

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 처음에 내가 짠 계획 1. 가장 적게 들기 위해 더 큰수인 5로 나눈다 2. 5로 나누고 나온 나머지를 3으로 나눴을 때, 나누어 떨어지는 지 확인 -> 안나눠 떨어지면, 5로 나눈 몫을 계속 줄여가며 체크하고 싶음 근데 어떻게 짜야할지 모르겠다 !! 3. 5로만 나누어 떨어지면 그것이 답 4. 3으로만 나누어 떨어지면 이것도 답일 수 있음 구현 시도 나름 생각한대로 짜보려고 노력했는데 , , 만약 3으로도..

[백준] 1436 영화감독 숌 - python

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 처음에 그냥 입력받은 N-1 + '666'만 붙이면 되는 줄 알고, 뭐야 이거 쉽네? 했으나 N = 187 을 보고, 쟤 왜 저러지. 잘못 이해했음을 깨달았다 !! 무조건 N + 666 이게 아니고 . . 6660 6661 6662 6663 6664 이런게 잔뜩 존재한다는 점, 심지어 N은 최대 만까지도 간다는 점 . . 내가 한 생각 : 처음엔 그냥 숫자 다돌려서 리스트를 만들고, 거기서 66..

[백준] 1018 체스판 다시 칠하기 - python

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 첫번째 난관, 8*8로 어떻게 잘라낼 것인가. -> 반복문을 N-7 / M-7로 쪼개서 N-7부터 +8까지 이런식으로 반복문을 돌린다 두번째 난관, 카운트 어떻게 ? 처음엔 그냥 'W'인거 다 센다음에 64에서 빼서 그 차이만큼 카운트하려고 했으나 . . 개수만 문제가 아니라, W와 B가 번갈아 가면서 나와야함 !! -> W로 시작할때랑 B로 시작할때를 따로 카운트함 실버4가 왜이렇게 어려..

[Django] CRUD - CREATE

장고의 기본 CRUD 중 CREATE를 구현해보자 ! 기본 페이지(index) 만들기 1. project와 app을 생성한다 project / settings.py에 app을 추가해주고, project / urls.py에 path를 추가해준다. from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('app/', include('app.urls')), ] app / urls.py 파일 생성 후 index path 추가 from django.contrib import admin from django.urls import path, inclu..

django 2023.03.25

[Django] admin 계정 생성하기

Django는 admin 페이지를 기본으로 제공한다 admin 페이지를 활용하기 위해 계정을 만들어보자 ! superuser 생성하기 1. project와 app을 생성한다 2. app / models.py에 class를 정의한다 from django.db import models # Create your models here. class Articles(models.Model): title = models.CharField(max_length=10) content = models.TextField() updated_at = models.DateTimeField(auto_now=True) created_at = models.DateTimeField(auto_now_add=True) 3. 계정 만들기 터미..

django 2023.03.25