목록CS (7)
끄적끄적
for-else문 #for-else 구문 for j in range(cur_row): if queen[j] == queen[cur_row] : break if abs(queen[j] - queen[cur_row]) == cur_row - j : break else: cnt += dfs(queen, n, cur_row + 1) 파이썬에서는 else문이 if-else 뿐만 아니라 for-else로도 쓰이는데 for와 함께 쓰는 else는 for문이 중간에 break 등으로 끊기지 않고 끝까지 수행 되었을 때, 수행하는 코드를 담고 있다. else문 들여쓰기는 for문과 맞춰줘야 함 int to string str() 쓰면 됨 ex ) num_str = str(num)
입력 2차원 문자열배열 입력받기 for i in range(N): color = str(input()) for x in color: arr[i].append(x) for문 _ : 의미없는 변수, 실제 사용되지 않을 때 사용 [False]*N 하면 N 크기의 리스트가 만들어짐 arr = [[] for _ in range(N)] visited = [[False]*N for _ in range(N)] range 1. 인수가 한 개 - range(MAX) 0에서부터 MAX - 1 2. 인수가 두 개 - range(MIN, MAX) MIN에서부터 MAX -1 3. 인수가 세 개 - range(MIN, MAX, GAP) MIN에서부터 MAX-1 까지, 각 숫자들 사이에 GAP만큼의 차이를 두면서 ex ) range..
변수 선언 - width = 0, height = 0 과 같이 한 줄에 두 개 이상 선언 불가 width = 0 height = 0 처럼 한 줄에 하나씩 써줘야 함 리스트 파이썬에서는 배열을 리스트 형태로 많이 사용 - 선언 ex) a = [] 초기화 -> 2차원으로 만드려고 할 때 ex) N의 크기만큼 2차원으로 초기화 graph = [[] for x in range(N+1)] 인덱싱 적용 가능 ex) a[0] + a[2] a[-1]은 마지막 요솟값을 나타냄 - 기존 리스트에 원소 추가 graph[a]+=[b] - 함수 a.reverse() : 리스트를 거꾸로 뒤집는다 a.sort() : 정렬, 기본값은 오름차순 a.sort(reverse=True) : 내림차순 정렬 +) sorted() 내장함수가 더..

💡 스프링 웹 개발 기초 정적 콘텐츠 resources/static 서버에서 변형 없이 파일을 그대로 웹브라우저에 내리는 것(Welcome Page처럼) MVC와 템플릿 엔진 가장 많이 하는 방식 서버에서 html을 동적으로 변형시켜서 내려주는 것 Model, View, ControllerView - 화면 Controller - 비즈니스 로직, 내부처리 (resources/template) Model - 화면에 필요한 것을 담아주기 API ViewResolver를 사용하지 않는 대신 HttpMessageConverter가 동작 @ResponseBody 객체 반환 → json 반환 {key, value} 💡 회원 관리 예제 - 백엔드 개발 일반적인 웹 애플리케이션 계층 구조 컨트롤러 - 웹 MVC의 컨트롤..
✅ 동기 / 비동기 동기(Synchronous) 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작 수행 가능. A 작업이 모두 진행될 때까지 B작업은 대기 비동기(Asynchronous) 비동기 방식은 반대로 요청을 보냈을 대 응답 상태와 상관없이 다음 동작 수행 가능. 즉, A작업이 시작하면 동시에 B작업이 실행됨. A작업은 결과값이 나오는대로 출력됨. ✅ next_permutation(first, last); 순열을 구하고 싶은 1-2-3-4의 배열이 있다고 가정하면 next_permutation의 함수를 사용하면 배열의 값들이 다음 순서인 1-2-4-3으로 바뀌고 함수는 true 반환 ✅ 인터프리터 언어와 컴파일 언어 인터프리터 언어 SQL, Python, JavaScript, HTML 등 소스..

✅ 스프링(Spring)이란? 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크 python - Django Ruby - Ruby on Rails JavaScript - Node.js Java - Spring ✅ Spring 특징 자바 객체와 라이브러리를 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있다. spring은 경량 컨테이너로 자바 객체를 직접 spring안에서 관리. 객체의 생성 및 소멸과 같은 생명주기(life cycle)를 관리하며, spring 컨테이너에서 필요한 객체를 가쳐와 사용 IOC와 DI 제어의 역전(IOC, Inversion Of Control) 사용자의 제어권을 다른 주체에게 넘기는 것. 스프링에게 제어를 위임하여 스프링이 만든 객체..
✅ 프로시저 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 의미. 어떤 프로세스를 절차적으로 기술해 놓은 것. ✅ 함수 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들. ✅ #region과 #endregion #region과 #endregion 옆에 코멘트를 달아서 #region을 접은 경우에도 코멘트 언제든지 확인 가능. ✅ 동적 로딩 (dynamic loading) 컴퓨터 프로그램이 메모리로 라이브러리 또는 다른 프로그램을 로딩하는 방식으로, CPU의 메모리 사용량을 줄이기 위해 일부 라이브러리 코드의 로딩을 미뤄둔다. (실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 로딩) ✅ 2-Tier와 3-Tier의 비교 2-Tier : 데이터베이스 미들웨어를 사용한 아키텍쳐 3-Tier : 그 ..