분류 전체보기 720

[백준][PYTHON] 15649 15650 N과 M (1),(2)

n,m = list(map(int,input().split())) s = [] def dfs(): if len(s)==m: print(' '.join(map(str,s))) return for i in range(1,n+1): if i not in s: s.append(i) dfs() s.pop() dfs() 어렵지 않다. 조건에 맞는 배열을 탐색, 출력하는 것이므로 dfs로 탐색 출력을 진행. n,m = list(map(int,input().split())) s = [] def dfs(start): if len(s)==m: print(' '.join(map(str,s))) return for i in range(start,n+1): if i not in s: s.append(i) dfs(i+1) s.p..

[CS] 웹서버 vs WAS

희봉, 티거, 알리님의 10분 테코톡 유튜브 영상 보고 작성했습니다. Web? -인터넷을 기반으로 한, 정보를 공유, 검색할 수 있게 하는 서비스 -URL(주소), HTTP(통신규칙), HTML(문서) 3가지 요소를 가짐. Client -웹 브라우저. Server -클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 Web Server -인터넷을 기반으로 클라이언트의 요청에 따라 웹 서비스(HTML등 각종 리소스)를 제공하는 컴퓨터 => Client는 웹 서버에게 URL을 가지고 HTTP에 맞게 요청(특정 path로 특정 파일을 요청)하면 HTML을 응답 받음. => Web server는 클라이언트의 요청을 기다리고 웹 요청(HTTP)에 대한 데이터를 만들어서 응답. 이때 데이터는 웹에..

[PYTHON] Dictonary 메소드.

dict([(a,b),(c,d)] 리스트 튜플형태로 dict사용하면 {a:b,c:d}로 생성됨. ++dict(a=b,c=d)마찬가지. 삭제는 del dictionary[key] dictionary.keys() key들을 리턴. dictionary.values() value들을 리턴 dictionary.items() => dict_items객체 => list(dict_items) = [(a,b),(c,d)]형태로 반환. dictionary.get(key) => value혹은 없으면 none리턴 dictionary[key] => value혹은 없으면 error남. dictionary.update({a:b,c:d}) 여러 요소 바꾸고 싶을 때 한꺼번에 수정.

카테고리 없음 2021.07.11

[PYTHON] call by value? call by reference?

Passed by assignment. 즉 어떤 값을 전달하느냐에 따라 달라진다. num = 10 메모리에 저장된 10이라는 정수형 객체를 num이라는 변수가 가리킨다. 파이썬은 int, str, tuple,dictionary의 key는 immutable하고 list, dict는 mutable하다. (dict value는 마찬가지로 자료형에따라 달라짐) immutable은 call by value 즉 value만 가져와 새 메모리에 객체를 담는다는 뜻. mutable은 기존 메모리를 가르킨다는 뜻. 즉 list와 dictionary는 변수명을 바꿔서 담아준다 하더라도 하나가 변하면 모든 변수의 값이 변하게 된다. (메모리에 담긴 본체가 변하므로) 이때 list같은 경우 c = a[:] 즉 슬라이스로 재정..

[백준][Python] 13398 연속합 2

n = int(input()) lst = list(map(int, input().split())) # 원소 제외 없는 결과, 원소 하나 제외한 결과 dp = [[0, 0] for _ in range(n)] # 초깃값 : 나자신 or 나를 제외한 경우. dp[0] = [lst[0], -999999999] for i in range(1, n): # 끊고 출발하거나 이전에꺼에 덧붙히거나. dp[i][0] = max(dp[i - 1][0] + lst[i], lst[i]) # 이전까지의 합에 나를 제외한 경우.(+0이 생략된 값을 이어붙힘), 이전까지의 합에 나를 붙힌경우(생략x) # => 앞에서 -가 생략이 됐고 그게 최적이라면 dp[i-1][1]+lst[i]가 더 커야하고 아니라면 # 앞의 생략이 최적이 아니..

[CS] API vs Library vs Framework

티버님, 임루트, 욘님의 10분 테코톡 읽고 작성했습니다. API(application programming interface) : 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능(다른 프로그램들, 서비스들)을 제어할 수 있게 만든 인터페이스 (프로그램 간의 연결을 시켜주는 다리) (직접구현이 아닌 제어를 담당) 인터페이스는 시스템을 구성하는 두개의 구성요소가 상호작용하기 위해서는 경계가 필요한데 인터페이스는 경계에서 각 구성요소가 접속하기 위한 하드웨어, 소프트웨어, 조건, 규약등의 총체이다.(가구들을 연결해주는 멀티탭) 클라이언트, 서버간의 메시지, 언어 등. App은 OS를 제외한 나머지 소프트웨어.(정의) Programming은 코딩을 통해 만들고 인터페이스에 접근하는 행위, 결과물..

[백준] 틀렸을 시 원인 분석.

틀렸습니다 : output이 틀렷을 경우. testcase 초기화를 잘해줘야함. 시간초과 : 시간복잡도 제한을 못맞췄을 경우. => 보통 추상화 알고리즘을 잘못썼거나, 변하지 않는 dp값을 여러번 계산했을 경우(계산값 저장을 하지 않는 경우), 내장함수 계산값을 저장해두지 않고 반복문마다 돌리는 경우 => 파이썬에서 어떤 값이 같은지 비교할 때 == 대신 is를 사용하면 안됨. ++list를 큐 또는 덱으로 사용하면 절대 안됨. 반드시 collection.deque를 써야함. 런타임 에러 : 실행 시 나타나는 type, index접근 등 에러, 재귀함수가 있는 경우에는 재귀 깊이 제한인 sys.setrecursionlimit(100000)을 써줘야함. 메모리 초과 : sys.setrecursionlimi..

practivceAlgorithm 2021.07.10

[백준][Python] 1717 : 집합의표현

시간초과 및 메모리초과 때문에 10트정도 했다. 원소를 1개씩 가지고 있는 집합들을 합치고 어떤 원소가 이미 같은 집합으로 합쳐져있는지 확인하는 Union-Find구현문제이다. import sys input = sys.stdin.readline sys.setrecursionlimit(100000) n,m = map(int,input().split()) parent = [i for i in range(n+1)] def Union(a,b): a = Find(a) b = Find(b) if a>b: parent[a] = b else: parent[b] = a def Find(u): if parent[u]==u: return u parent[u] = Find(parent[u]) return parent[u] f..