이전 글과 이어지는 글입니다. seongonion.tistory.com/57 [Django] Django란? - Django 설치 및 가상환경 설정 Django란? Django는 파이썬을 기반으로 한 오픈소스 웹 애플리케이션 프레임워크이다. 오픈소스는 쉽게 말해 *무료*라는 뜻이고, 관련 정보들이 사이트에 오픈되어 있어 궁금한 점이 있다면 언제든 seongonion.tistory.com 프로젝트 폴더 생성 가상환경을 켜고 Django까지 설치를 완료했다면, 이제 직접 프로젝트를 만들어보자. Django에서 프로젝트를 생성하는 명령어는 django-admin startproject myproject 로, 역시나 터미널에 작성해주고 엔터쳐주면 된다. (가상환경을 반드시 켜준 상태에서 진행해줘야한다) 앞서 가..
Django란? Django는 파이썬을 기반으로 한 오픈소스 웹 애플리케이션 프레임워크이다. 오픈소스는 쉽게 말해 *무료*라는 뜻이고, 관련 정보들이 사이트에 오픈되어 있어 궁금한 점이 있다면 언제든 참조할 수있음을 의미한다. '프레임워크'란, 우리가 웹 서비스를 만드는 과정에서 편의성을 제공하기 위해 만들어진 일종의 작업장이라고 이해할 수 있겠다. 우리가 매일같이 사용하는 웹 페이지들엔 다양한 기능들이 포함되어 있다. 회원가입과 로그인, 로그아웃 기능, 블로그로 치면 글을 올리거나 수정, 삭제하는 기능 등이 그 예시이다. 그런데 이제 막 개발 공부를 시작한 사람이 이러한 기능들을 모두 갖춘 웹 사이트를 시작부터 끝까지 모두 스스로 만드려면 알아야할 것들이 너무나도 많다. 말 그대로 건물을 짓는데 흙을 ..
시간 제한 메모리 제한 1 초 256 MB 문제 (링크) https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 나의 풀이 from collections import deque dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] m, n = map(int, input().split()) graph = [list(map(int, input().split())) for _ in range(n)] q = deque() for..
시간 제한 메모리 제한 1 초 256 MB 문제 (링크) https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 나의 풀이 from collections import deque # 나이트의 8가지 이동 dx = [1, 1, -1, -1, 2, 2, -2, -2] dy = [2, -2, 2, -2, 1, -1, 1, -1] def bfs(start_x, start_y, target_x, target_y): q = deque() q.append((start..
시간 제한 메모리 제한 1 초 128 MB 문제 (링크) https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 나의 풀이 import sys from collections import deque n = int(sys.stdin.readline()) graph = [] # 각 집으로의 이동을 표현할 좌표리스트 dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] for _ in range(n): graph.append(list(map(in..
시간 제한 메모리 제한 0.3 초 512 MB 문제 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 나의 풀이 string_list = list(input()) cursor = len(string_list) for _ in range(int(input())): command = list(input().split()) if command[0] == 'P': string_list.insert(cursor, command[1]) cursor += 1 ..
문제 (링크) https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 나의 풀이 import sys n = int(sys.stdin.readline()) stack = [] ans = [] count = 1 possible = True for _ in range(n): input_num = int(sys.stdin.readline()) while input_num >= ..
문제 설명선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한 조건 스..