백준 1342번: 행운의 문자열 파이썬코드(백트래킹)
s = input() s = list(s) su = len(s) count = 0 alphabet = [0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0] for i in range(len(s)): alphabet[ord(str(s[i])) - 97] += 1 def backtracking(l, p): global count if l == 0: count += 1 for i in range(26): if alphabet[i] > 0 and i != p: alphabet[i] -= 1 backtracking(l-1, i) alphabet[i] += 1 else: pass backtracking(su, -1) print(count)
백준 1261번: 알고스팟 파이썬 코드(다익스트라)
import sys import heapq INF = sys.maxsize x = [0,0,-1,1] y = [-1,1,0,0] n,m = map(int, sys.stdin.readline().split()) visited = [[0 for _ in range(n)]for _ in range(m)] graph = [] dist = [[INF for _ in range(n)] for _ in range(m)] for i in range(m): temp = list(input()) temp = [int(i) for i in temp] graph.append(temp) heap = [] heapq.heappush(heap, [graph[0][0],[0,0]]) while heap: cost, now = hea..
메모리 영역(코드영역, 데이터영역, 힙영역, 스택영역)
서론 메모리 영역은 총 4가지로 나뉜다.(BSS까지 포함하면 5가지) 그리하여, 코드 영역, 데이터 영역, 힙 영역, 스택 영역이 무엇인지 알아보고 각각 어떤 특장을 지니는 지 서술하려한다. 메모리 영역 프로그램이 실행하려면, 당연히 메모리의 공간을 할당을 받아야하고 이 공간을 메모리 영역이라 지칭한다. 코드 영역 이름 그대로 우리가 작성한 코드를 저장하는 공간이다. 텍스트영역이라고도 불리며, 이 공간은 컴파일 할 때 Read-Only이다. 어찌보면 당연한데, 우리가 파이썬을 실행할 때 컴파일할 당시에 코드로 실행하지, 컴파일한 후에 코드를 수정해도 적용되지 않는 이유가 이 때문이다. 데이터 영역 데이터 영역은 전역변수, 정적변수, 배열, 구조체를 저장한다. 이러한 것들은 프로그램이 실행되는 와중에 값이..