inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

런타임 에러가 발생합니다.

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

package A4; import java.util.HashMap; import java.util.Scanner; public class Main{ int[] solution(int days, int x, int[] arr) { int[] answer = new int[x]; int rt=0, cnt=0, lt=0; HashMap<Integer, Integer> map = new HashMap<>(); for(rt=0; rt<days; rt++) { cnt++; if(cnt > x) { map.put(arr[lt], map.get(arr[lt])-1 ); if(map.get(arr[lt]) == 0) map.remove(arr[lt]); lt++; cnt--; } map.put(arr[rt], map.getOrDefault(arr[rt], 0)+1 ); if(cnt == x) answer[lt] = map.size(); } return answer; } public static void main(String[] args) { Main main = new Main(); Scanner in = new Scanner(System.in); int input1 = in.nextInt(); int input2 = in.nextInt(); int[] input3 = new int[input1]; for(int i=0; i<input1; i++) { input3[i] = in.nextInt(); } for(int i : main.solution(input1, input2, input3)) { System.out.print(i + " "); } } } 강사님 코드와는 다르나 결과값이 똑같이 나오는데 이 경우는 제 코드가 시간이 훨씬 오래걸려서 런타임 에러가 나는 것일까요?

  • runtimeerror
  • java
  • 코테 준비 같이 해요!
chelllagom 댓글 3 좋아요 0 조회수 602

회원가입 작성 후 실행 시 The session is unavailable because no secret key was set 오류가 발생합니다.

미해결

남박사의 파이썬으로 실전 웹사이트 만들기

회원가입 페이지 구현 후 실행하니 T he session is unavailable because no secret key was set 이런 에러가 발생하는데요, 어떻게 해결해야하는지 궁금합니다. run.py 코드는 첨부합니다.그리고 강의를 보면서 작성하다보면 똑같이 작성한 것 같은데도 에러가 발생하는 경우가 많아서요.. 혹시 강의 코드도 받아볼 수 있을까요? from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from datetime import datetime from bson.objectid import ObjectId from flask import abort from flask import redirect from flask import url_for from flask import flash import time import math app = Flask( __name__ ) app.config[ "MONGO_URI" ] = "mongodb://localhost:27017/myweb" mongo = PyMongo(app) @ app.template_filter ( "formatdatetime" ) def format_datetime ( value ): if value is None : return "" now_timestamp = time.time() offset = datetime.fromtimestamp(now_timestamp)-datetime.utcfromtimestamp(now_timestamp) value = datetime.fromtimestamp(( int (value)/ 1000 )) + offset return value.strftime( '%Y-%m-%d %H:%M:%S' ) @ app.route ( "/list" ) def lists (): #페이지값(값이 없는 경우 기본값은 1) page = request.args.get( "page" , 1 , type = int ) #한페이지당 몇개의 게시물을 출력할지 limit = request.args.get( "limit" , 5 , type = int ) search = request.args.get( "search" , - 1 , type = int ) keyword = request.args.get( "keyword" , type = str ) #최종적으로 완성된 쿼리를 만들 변수 query = {} #검색어 상태를 추가할 리스트변수 search_list = [] if search == 0 : search_list.append({ "title" : { "&regex" : keyword}}) elif search == 1 : search_list.append({ "contents" : { "&regex" : keyword}}) elif search == 2 : search_list.append({ "title" : { "&regex" : keyword}}) search_list.append({ "contents" : { "&regex" : keyword}}) elif search == 3 : search_list.append({ "name" : { "&regex" : keyword}}) if len (search_list) > 0 : query = { "$or" : search_list} print (query) board = mongo.db.board #skip (2번쩨 페이지-1)*10 -> 앞페이지 10개 skip, 이후부터 10개까지 출력 datas =board.find(query).skip((page - 1 ) * limit).limit(limit) #게시물의 총 갯수 tot_count = board.find(query).count() # 마지막 페이지의 수 last_page_num = math.ceil(tot_count/limit) #페이지 블록 5개씩 표기 block_size = 5 #현재 블록 위치 block_num = int ((page - 1 )/ block_size) #블럭의 시작 위치 block_start = int ((block_size * block_num) + 1 ) #블럭의 끝 위치 block_last = math.ceil(block_start + (block_size - 1 )) return render_template( "list.html" , datas =datas, limit =limit, page =page, block_start =block_start, block_last =block_last, last_page_num =last_page_num) @ app.route ( "/view/<idx>" ) def board_view ( idx ): #idx = request.args.get("idx") if idx is not None : board = mongo.db.board data = board.find_one({ "_id" : ObjectId(idx)}) if data is not None : result = { "id" : data.get( "_id" ), "name" : data.get( "name" ), "title" : data.get( "title" ), "contents" :data.get( "contents" ), "pubdate" :data.get( "pubdate" ), "view" :data.get( "view" ) } return render_template( "view.html" , result =result) return abort( 404 ) @ app.route ( "/write" , methods =[ "GET" , "POST" ]) def board_write (): if request.method == "POST" : name = request.form.get( "name" ) title = request.form.get( "title" ) contents = request.form.get( "contents" ) print (name, title, contents) current_utc_time = round (datetime.utcnow().timestamp()* 1000 ) board = mongo.db.board #있으면 리턴 없으면 board 생성 post = { "name" : name, "title" : title, "contents" : contents, "pubdate" :current_utc_time, "view" : 0 } x = board.insert_one(post) print (x.inserted_id) return redirect(url_for( "board_view" , idx =x.inserted_id)) else : return render_template( "write.html" ) @ app.route ( "/join" , methods =[ "GET" , "POST" ]) def member_join (): if request.method == "POST" : name = request.form.get( "name" , type = str ) email = request.form.get( "email" , type = str ) pass1 = request.form.get( "pass" , type = str ) pass2 = request.form.get( "pass2" , type = str ) if name is None or email is None or pass1 is None or pass2 is None : flash( "빈값있음" ) return render_template( "join.html" ) if pass1 != pass2: flash( "비밀번호 불일치" ) return render_template( "join.html" ) members = mongo.db.members cnt = members.find({ "email" : email}).count() if cnt > 0 : flash( "중복된 이메일 주소입니다." ) return render_template( "join.html" ) current_utc_time = round (datetime.utcnow().timestamp(* 1000 )) post = { "name" : name, "email" : email, "pass" : pass1, "joindate" : current_utc_time, "logintime" : " " , "logincount" : 0 } members.insert_one(post) return "" else : return render_template( "join.html" ) if __name__ == "__main__" : app.run( debug = True , host = "0.0.0.0" , port = 9000 ) 강의와 관련있는 질문 을 남겨주세요. &bull; 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) &bull; 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) &bull; 서비스 운영 관련 질문은 인프런 우측 하단 &lsquo;문의하기&rsquo; 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. &bull; 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. &bull; 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. &bull; 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. &bull; 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. &bull; 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. &bull; 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . &bull; 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. &bull; 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. &bull; 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. &bull; 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.

  • runtimeerror
  • python
Ts K 댓글 1 좋아요 1 조회수 1125

인기 태그

인프런 TOP Writers

주간 인기글