오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

분류 전체보기 245

[BOJ] BOJ 12581 숨바꼭질2 Python

www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 1. 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생..

[BOJ] BOJ 2056 작업 Python

www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 1. 작업 성공분류 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 256 MB 6650 2950 2116 41.868% 2. 문제 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 반드시 먼저 완료되어야 할 작업들이 있다. 이 작업들은 번..

[프로그래머스] 파일명 정렬 python

programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 1. 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표..

[프로그래머스] 삼각 달팽이 파이썬

programmers.co.kr/learn/courses/30/lessons/68645# 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 1. 문제 설명 정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요. 2. 제한사항 n은 1 이상 1,000 이하입니다. 3. 풀이 구현문제 def solution(n)..

[장고백서] 필드에서 작성한 validator가 작동을 안할 때

필드에 validators를 선언해 해당 필드 값에 제한을 둘 때가 있다. 가령 이름에 공백을 포함하고 싶지 않다면 해당 기능을 아래와 같이 구현할 수 있다. #persons/models.py from django.db import models from .validators import space_validator class Person(models.Model): name = models.CharField("이름", max_length=100, validators=[space_validator,]) #persons/validators.py from django.core.exceptions import ValidationError def space_validate(value): if len(value.sp..

[BOJ] BOJ 16974 직사각형 탈출 Python

www.acmicpc.net/problem/16973 16973번: 직사각형 탈출 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 www.acmicpc.net 1. 문제 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 왼쪽 위칸은 (Sr, Sc)에 있을 때, 이 직사각형의 가장 왼쪽 위칸을 (Fr, Fc)로 이동시키기 위한 최소 이동 횟수를 구해보자. 격자판의 각 칸에는 빈 칸 또..

[JavaScript] a 태그에 Confirm 사용하기

Confirm함수는 사용자의 특정 행동을 확인하는 함수로 아래와 같은 창을 띄어 확인을 누르면 True, 취소를 누르면 False를 반환하는 함수이다. a 태그에 이러한 confirm 함수를 적용시키려면 아래와 같이 작성해주면 된다. 전체 발송 하기 물론 자바스크립트와 html은 구분해야되긴 하지만 빠르게 불을 끌때는 이만한 방법이 없다. 다들 이 방법으로 급한 불만 끄고 나중에 수정하길 바란다. 아디오스~

[BOJ] BOJ 15653 구슬 찾기 4

www.acmicpc.net/problem/15653 15653번: 구슬 탈출 4 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 1. 문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀져 있고, 보드에는 구멍이 하..

[Python] @property 너 누구야? 후아유

이번 포스트에서는 파이썬 클래스에서 종종 보이는 @property에 대해 알아보겠다. 결론부터 이야기하자면 @property 데코레이터는 객체의 프로퍼티를 보호해주는 함수라고 할 수 있다. 먼저 본격적인 포스팅에 앞에서 꼭 집고가야할 것이 있다. 바로 접근제어자(Access Modifier)이다. 1. 접근 제어자(Access Modifier) 1.1 접근 제어자 정의와 필요성 접근제어자(Access Modifier)는 객체의 프로퍼티의 접근을 제한하는 명령어로 객체내에 선언되어 있는 프로퍼티를 접근할 수 있는 범위를 제한하는 것이다. 대표적인 객체 지향 언어인 자바에서는 public, private, protected 가 있다. 각 접근 제어자의 접근 가능 범위는 아래와 같다 1. public : 모든..

Language/Python 2021.03.28

[Django] Form 동적으로 생성하기

현재 하고 있는 프로젝트의 요구 사항중에 admin에서 몇가지 설정을 통해 이벤트 랜딩페이지를 생성하는 부분이 있었다. 이벤트마다 수집하는 개인정보가 달랐기 때문에 수집 개인정보 항목(이름, 전화번호..등등)을 이벤트와 ManyToMany로 연결시켜서 이벤트마다 수집 개인정보 항목을 다르게 수집할 수 있도록 만들어 주었다. 일단 기한안에 완성해야했기 때문에 view에 모든 부분을 구현하고 배포한뒤 코드를 보니 개인정보를 받는 view나 django template 쪽의 코드가 지나치게 지저분해졌다. 이를 리팩토링하기 위해 form을 사용해서 이벤트마다 동적으로 폼을 생성할 수 있도록 만들어 주기로 했다. 이번 포스트에서는 정적인 form이 아닌 모델 마다 변하는 동적인 폼을 생성하는 방법에 대해 알아보도..