전체 게시글376 [BaekJoon] 백준 알고리즘 11724번 / 연결 요소의 개수 / DFS / Python """ 1. 시나리오 - dfs를 돌면서 빠져나오면 +1을 해준다. 2. 시간 복잡도 - 정점: 1,000개 - 간선: (1,000 x 999) / 2 - 500,500 < 2억개 가능! 3. 자료구조 - [False] * N - adj[[]] """ import sys sys.setrecursionlimit(10**6) input = sys.stdin.readline def dfs(c): if v[c] == True: return v[c] = True for i in adj[c]: dfs(i) N,M = map(int, input().split()) adj = [[] for _ in range(N+1) ] for _ in range(M): s, e = map( int, input().split() ) .. 2023. 3. 11. [CS] HTTP 웹 서버는 어떻게 동작할까? HTTP의 통신 규약 웹 클라이언트(대부분 웹 브라우저)는 웹 서버와 데이터를 주고 받기 위해 HTTP라는 서로 간에 약속된 규약을 따른다. 웹 클라이언트가 웹 서버에 요청을 보내기 위한 규약은 아래와 같다. 요청 데이터의 첫 번째 라인은 요청 라인(Request Line), 두 번째 라인부터 빈 공백 문자열 라인까지 요청 헤더(Request Header), 빈 공백 문자열 다음부터 본문(Request Body) 데이터가 전송된다. 모든 HTTP 요청에 대해 요청 라인, 요청 헤더, 빈 공백 문자열은 필수이고, 요청 본문은 필수가 아니다. 자, 이제 하나씩 뜯어보자. 요청 라인(Request Line) 요청 데이터의 첫 번째 라인은 요청 라인(Request Line)이라고 부른다. 요청 라인은 "HTTP.. 2023. 3. 10. [Java] 디버깅을 위한 로깅(logging) System.out.println은 앞으로 사용하지 말자. 개발자는 애플리케이션이 정상적으로 동작하는지 확인하기 위한 목적, 애플리케이션에 문제가 발생했을 때 원인을 파악하기 위한 디버깅을 목적으로 수많은 메시지를 출력한다. 원인을 파악하기 위한 디버깅을 목적으로 수많은 메시지를 출력한다. 이때 사용하는 것이 System.out.println() 이다. 하지만, 이를 디버깅 메시지로 출력하면 파일로 메시지가 출력하게 되는데 파일에 메시지를 출력하는 작업은 상당한 비용이 발생하는 작업이다. 또한, 소스코드에 포함되어 있는 경우 구현한 코드는 삭제하거나 주석 처리하는 방법으로 해결하는 경우가 있다. 이 또한 모두 비용이며, 디버깅을 목적으로 메시지를 출력하고 싶으면 또 다시 원복해야 하는 문제점이 있다. 이.. 2023. 3. 10. [BaekJoon] 백준 알고리즘 6603번 / 로또 / 백트래킹(DFS) / Python def dfs( depth, idx ): if len(q) == 6: print( " ".join(map(str,q))) return for i in range( idx, k ): q.append(S[i]) dfs(depth + 1, i + 1) q.pop() while True: global S array = list(map(int, input().split())) k = array[0] S = array[1:] q = [] dfs( 0, 0 ) if k == 0: exit() print() 2023. 3. 10. [Linux] JDK 설치 / JAVA_HOME PATH 설정 / maven 설치 JDK 설치 / JAVA_HOME PATH 설정 1. 설치 $ sudo apt-get update $ sudo apt-get upgrade # JAVA11 설치 $ sudo apt-get install openjdk-11-jdk 2. 설치 확인 # 설치 확인 $ java -version openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing) # 설치 확인 $ javac -version javac 11.0.11 3. 환경설정.. 2023. 3. 8. [BaekJoon] 백준 알고리즘 15686번 / 치킨 배달 / 백트래킹 / Python import sys from itertools import combinations sys.stdin = open( "input.txt", "r") n, m = map( int, input().split() ) city = list( list(map(int, input().split())) for _ in range( n )) result = 999999 house = [] chicken = [] for i in range(n): for j in range(n): if city[i][j] == 1: house.append( [i, j] ) # 집 좌표 저장 elif city[i][j] == 2: chicken.append( [i, j]) # 치킨집 좌표 저장 def solve( ): global resul.. 2023. 3. 8. 이전 1 ··· 18 19 20 21 22 23 24 ··· 63 다음