본문 바로가기
반응형

전체 글 목록571

[BFS] 백준 7569번 : 토마토 / 골드 5 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net import collections m, n, h = map(int, input().split()) box = [] left = 0 q = collections.deque() for z in range(h): table = [] for y in range(n): row = list(map(int, input().split())) for x in range(len(row)): .. 2022. 2. 24.
[주제 별 탐구] 프로세스와 스레드 [프로세스의 의미] 프로세스가 가지는 의미는 다양하지만 일반적인 프로세스의 정의는 '실행중인 프로그램'이다. 프로그램은 컴파일한 코드와 초기화 전역변수, 문자열과 문자열 상수 등 정적인 데이터를 포함하는 정적 개체다. 디스크에 있던 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태가 되면 프로세스가 되는 것이다. 이는 자신만의 메모리 공간이 있다는 뜻이 된다. 프로세스는 프로그램 카운터나 레지스터처럼 현재 어떤 자원을 사용하는지 관련 정보가 들어 있는 동적 개체이다. [프로세스의 일반적인 메모리 구조] - 스택 데이터를 일시적으로 저장하는 영역. 지역 변수에 사용하고, 변수가 범위 밖으로 이동하면 공간을 해제한다. 호출한 함수의 반환 주소, 반환 값, 매개변수 등에 사용하고, 함수를 호출할 수록 .. 2022. 2. 21.
[ 브루트 포스] 백준 1107번 : 리모컨 / 골드 5 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net n = int(input()) m = int(input()) if m == 0: print(min(len(str(n)), abs(n-100))) quit() broken = list(map(int, input().split())) def possible(s, broken): nums = set([int(x) for x in s]) for b in broken: if b in num.. 2022. 2. 20.
[최단 경로] 백준 2206번 : 벽 부수고 이동하기 / 골드 4 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net import heapq x_lim, y_lim = map(int, input().split()) # edge case if x_lim == 1 and y_lim == 1: print(1) quit() table = [] for _ in range(x_lim): table.append([int(x) for x in input()]) dx = [-1, 1, 0, 0] dy =.. 2022. 2. 19.
Spring에서 MYSQL 연동하기 그동안 인강에서나 프로젝트에서나 쭉 H2 데이터베이스만을 사용했었는데 예전에 잠깐 책을 사서 공부했던 MYSQL과도 연동해보고싶은 마음이 들었다. 막상 시도해보니 엄청 간단하게 연동이 가능해서 여기에 정리해본다. 1. build.gradle의 dependency에 설정 dependencies { .... //기존 H2 데이터베이스 runtimeOnly 'com.h2database:h2' //MYSQL 데이터베이스 라이브러리를 추가 implementation 'mysql:mysql-connector-java' } 2. application.properties에 연결 DB 정보 추가 #기존 H2 => 주석 처리 #spring.datasource.url=jdbc:h2:tcp://localhost/~/reboo.. 2022. 2. 15.
[Spring MVC] 필터, 인터셉터 필터 필터란? 필터를 적용하면 서블릿 호출 전에 호출된다. 필터의 흐름은 다음과 같다. HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 필터를 통해 웹과 관련된 공통의 관심사를 처리할 수 있다. 필터 제한 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 //로그인 사용자 HTTP 요청 -> WAS -> 필터(적절하지 않은 요청이라 판단, 서블릿 호출X) //비 로그인 사용자 필터 체인 HTTP 요청 -> WAS -> 필터1 -> 필터2 -> 필터3 -> 서블릿 -> 컨트롤러 필터는 체인으로 구성되는데, 중간에 필터를 자유롭게 추가할 수 있다. 예를 들어서 로그를 남기는 필터를 먼저 적용하고, 그 다음에 로그인 여부를 체크하는 필터를 만들 수 있다 필터 생성 필터를 사용하려.. 2022. 2. 4.
반응형