본문 바로가기
반응형

전체 글340

[Backjoon] 9076번 문제 - 점수 집계 한국 체조협회에서는 심판의 오심을 막기 위하여 점수 집계 시스템을 고치기로 하였다. 이전에는 5명의 심판이 1점부터 10점까지 정수의 점수를 주면 최고점과 최저점을 하나씩 제외한 점수의 합을 총점으로 하였다. 이를 보완하기 위해서 최고점과 최저점을 뺀 나머지 3명 점수의 최고점과 최저점의 차이가 4점 이상 나게 되면 점수 조정을 거쳐서 다시 점수를 매기려고 한다. 점수를 집계하여 총점을 계산하거나, 점수 조정을 거쳐서 다시 점수를 매기려고 하는 경우에는 총점 대신 KIN(Keep In Negotiation)을 출력하는 프로그램을 작성하시오. 풀이 배열에 수를 받아 정렬한 후 최고점과 최저점을 제외한 합을 구한다.그리고 그 합을 구하기 위한 최고점과 최저점의 차에대한 절대값으로 다시 점수를 매겨야하는지 판.. 2017. 6. 29.
[Backjonn] 2738번 문제 - 행렬 덧셈 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 풀이 2차원 행렬을 더하는 아주 기본적인 문제이다.그냥 두 이차원 행렬에 수를 받아서반복문을 돌며 더해주면 된다. 123456789101112131415161718192021222324252627282930313233343536import java.util.Scanner; /** * Created by homr on 2017. 6. 29.. */public class Main { public static Scanner sc = new Scanner(System.in); public static int N = sc.nextInt(); public static int M = sc.nextInt(); public stati.. 2017. 6. 29.
[Backjoon] 5554번 문제 - 심부름 가는 길 승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집에 가서 분석해보기로 했다.집에 도착한 승균이는 측정한 결과를 보는 데, 전부 초 단위로 기록되어있다! 맨날 놀기만 해서 총 이동 시간이 몇 분 몇 초인지 계산을 못 하는 승균이를 도와주자.하루 동안 측정한 결과가 주어지면, 이날의 총 이동 시간이 몇 분 몇 초인지 출력하는 프로그램을 작성하시오. 풀이모든 값을 받아 더한 후 분이 60보다 작을때까지 60으로 빼주면서시를 1씩 증가시켜주면 된다.굳이 배열에 저장하지 않고 받은 값을 바로 min 변수에 저장해도 된다. 123456789101112131415161718192.. 2017. 6. 29.
[Django] lotto - 앱 다듬기 lotto - 앱 다듬기 1url(r'^lotto/(?P[0-9]+)/detail/$', views.detail, name = "lotto_detail"), cs 전반적인 과정을 끝이났고 추가적인 기능을 구현해보자.우선 디테일 페이지를 구현하기 위해 urls.py를 수정한다.위의 코드는 숫자로 구별해서 디테일 페이지와 연결하는 것이다. 이 숫자를 파라미터로 전달하기 위해서는(?P전달할값)과 같은 문법을 사용한다. 123def detail(request, lottokey): lotto = GuessNumbers.objects.get(pk = lottokey) return render(request, "lotto/detail.html", {"lotto": lotto}) cs 따라서 이 url과 연결하기 위한.. 2017. 6. 28.
[Django] lotto - POST 처리 lotto - POST 처리 지난 시간에 폼을 만들었는데, submit를 클릭해도 데이터가 처리되지않았다.이유는 views/post에 있다.왜냐하면 같은 url을 모두 lotto/form.html으로 랜딩하게 되어있기 때문이다.만약 get으로 접근했다면 이와 같은 처리가 맞지만 post는 다르게 처리해야한다. 1234567891011from django.shortcuts import render, redirectdef post(request): if request.method == "POST": form = PostForm(request.POST) if form.is_valid(): lotto = form.save(commit = False) lotto.generate() return redirect('.. 2017. 6. 28.
[Django] lotto - form 만들기 lotto - form 만들기 어느정도 앱이 윤곽을 보이고 있지만 아직 데이터를 입력받는 폼이 없다.관리자 페이지에서 일일이 데이터를 입력할수도 없기 때문에폼 양식을 작성하여 웹 페이지에 출력해야한다. 12345678from django import formsfrom .models import GuessNumbers class PostForm(forms.ModelForm): class Meta: model = GuessNumbers fields = ('name', 'text',) cs 장고에서 폼 양식을 만드는 법은 아주 간단하다.먼저, lotto 안에 forms.py를 만들어준다. 여기에 장고가 제공해주는 기본 폼인 from django import forms를 추가한다.또한 데이터베이스 입력을 위하여.. 2017. 6. 28.
[Django] lotto - MTV 연동하기 lotto - MTV 연동하기 12345urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', views.index, name='index'), url(r'^lotto/$', views.index, name='lotto'), ]Colored by Color Scriptercs 뷰와 템플릿만 연결 했었는데, MTV를 모두 연동해보도록하자이를 위해서 먼저 url 파일 부터 위와 같이 수정해준다.이제부터 8000번 포트로 접근해도 로또 앱 페이지가 나온다. 1234from lotto.models import GuessNumbersdef index(request): lottos = GuessNumbers.objects.all() return render(re.. 2017. 6. 28.
[Django] lotto - shell을 이용한 장고 관리 lotto - shell을 이용한 장고 관리 이번에는 shell을 이용하여 장고를 관리하는 방법에 대해 알아보자우선 $python manage.py shell을 입력하면 장고의 쉘 커맨드로 넘어가게 된다.이렇게 하면 우리의 프로젝트를 그대로 사용하는것이 가능하다. from lotto.models import GuessNumbersfrom django.utils import timezone즉, 위의 코드들을 그대로 불러와 사용이 가능하다는 것이다. 이렇게 위의 모델을 불러온다음 GuessNumbers.objects.all() 을 입력하면전체 GuessNumbers의 인스턴스들을 볼 수 있다. 많이 사용하는 키워드 이므로 기억하도록하자.만약 하나만 보고 싶다면 GuessNumbers.objects.get(".. 2017. 6. 28.
[Django] lotto - views와 템플릿 연동 lotto - views와 템플릿 연동 1234from django.shortcuts import render def index(request): return render(request, "lotto/default.html", {"lottos":lottos}) cs 모델과 뷰를 완료했고 이제 템플릿만 남았다.우선 views를 수정해보도록한다. HttpResponse를 사용하고 있었는데 실제로는 이와 같이 사용하지 않는다.템플릿과 뷰를 연동하기 위해서는 이것 대신에 render함수를 사용한다.render 함수를 사용하기 위해서는 from django.shortcuts import render를 적용해야한다. render 함수는 첫번째 인자로 request를 받는다.이 request는 index로 들어온 바.. 2017. 6. 28.
반응형