본문 바로가기

전체 글

[BOJ] 백준 2178 미로찾기 - 파이썬 출처 : https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net n, m = map(int, input().split()) dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] graph = [] for i in range(n): graph.append(list(map(int, input()))) count = 0 queue = [[0, 0]] def bfs(): while queue: a, b = queue.pop(0) for i .. 더보기
[BOJ] 백준 2667 파이썬 - 단지번호 붙이기 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 전형적인 BFS의 문제로서 인접해 있는 집들을 하나의 단지로 묶어준 후 각 단지 내에 있는 집의 수를 오름차순으로 정렬해 주는 문제. def bfs(x, y): queue.append([x, y]) # 처음에는 원소가 없으므로 추가 시켜줌 graph[x][y] = 0 # 중복 방문을 피하기 위해 방문을 했다면 0으로 변환 count = 1 # 묶여 있는 단지를 세어주기 위한 변수 선언 while queue: # queue가 비어있지 않다면 a, b = queue... 더보기
[BOJ] 백준 1260 파이썬 - DFS와 BFS 문제 출처 : 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 기본적인 DFS 와 BFS를 이용해 방문하는 노드를 순서대로 정렬하는 문제 입니다. n, m, v = map(int, input().split()) dic = {} for i in range(n): dic[i+1] = set() # 각각의 간선에 연결된 노드 표시 for j in range(m): a, b = map(int, input().split()) dic[b].add(a) dic[a].add(b) # 서.. 더보기
[BOJ] 백준 2798 파이썬 - 블랙잭 n, m = map(int, input().split()) numList = list(map(int, input().split())) if len(numList) > n:# 1 numList = numList[:n] answer = [] for i in range(len(numList)-2):# 2 for j in range(i+1, len(numList)-1): for k in range(j+1, len(numList)): a = numList[i]+numList[j]+numList[k]# 3 if a 더보기
[BOJ] 백준 1152 파이썬 - 단어의 개수 word = input().split() print(len(word)) 더보기
[BOJ] 백준 11729 파이썬 - 하노이 탑 이동 순서 def hanoi(n, a, b, c): if n == 1: print(a, c) # 1 -> 3으로 바로 else: hanoi(n-1, a, c, b) # 제일 큰 원판 제외 모두 1 -> 2로 옮김 print(a, c) # 제일 큰 원판 1 -> 3 hanoi(n-1, b, a, c) # 2의 역할을 했던 막대가 1의 역할로 변경되고 1이 2의 역할을 하며 재귀 n = int(input()) print(2**n-1) hanoi(n, 1, 2, 3) 더보기
[BOJ] 백준 2447 파이썬 - 별 찍기 def rect_star(x, y, n, ls): if n == 3: ls[x + 1][y + 1] = " " else: temp = n // 3 for i in range(x + temp, x + 2 * temp): for j in range(y + temp, y + 2 * temp): ls[i][j] = " " for i in range(0, n, temp): for j in range(0, n, temp): rect_star(x + i, y + j, temp, ls) n = int(input()) ls = [["*" for i in range(n)] for i in range(n)] rect_star(0, 0, n, ls) for i in range(0, n): for j in range(0, n).. 더보기
[Django] 초보 프로젝트 연습하기 추천 사이트 안녕하세요 제이삼사 입니다 파이썬을 이용한 django를 이용해 백엔드 개발을 계획하고 계신 분들에게 프로젝트 연습하기 좋은 사이트를 추천드리려고 해요 django를 이용해 백엔드 개발을 하기 위해서는 django 자체를 공부하는 것도 중요하지만 스스로 프로젝트를 해보며 직접 익히는 게 더 중요하다고 생각해요 그래서 이번에 추천해 드릴 사이트는 리얼파이썬 이라는 사이트입니다 https://realpython.com/ Python Tutorials – Real Python Learn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, arti.. 더보기