danbibibi
article thumbnail
BOJ 2206번: 벽 부수고 이동하기
문제 풀이/백준 2023. 1. 18. 23:52

문제 문제 바로가기> BOJ 2206번: 벽 부수고 이동하기 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 풀이 벽을 하나씩 제거 + BFS 하는 경우, O(N^2*M^2)으로 시간 초과가 발생한다. 생각해보면, 어느 지점(y, x)에 도착할 때, 남은 기회가 있거나 or 없거나 둘 중 하나의 상태로 도착할 것이다. 이 점을 이용해서 BFS 탐색을 진행하면, BFS를 한번만 돌려도 문제를 풀수 있다! 추가로, 가중치가 동일할 때 최단 경로를 찾는 문제이므로, 가장 먼저 (N-1, M..

article thumbnail
BOJ 21608번: 상어 초등학교

문제 문제 바로가기> BOJ 21608번: 상어 초등학교 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 풀이 문제를 풀 때 중요하다고 느낀 점을 몇가지 적어보겠다. 1. 자리를 정할 때 우선순위 별로 정렬하기 위해 priority_queue를 이용 * 이때, 구조체 내 연산자 재정의 방법을 알고 있어야 한다. (좋아하는 학생 수 > 빈칸 > 작은 행 번호 > 작은 열 번호) 우선으로 연산자 재정의를 해주어야 하기 때문! 2. 이미 자리가 정해진 경우 continue 해주기 이미 자리가 정해졌는데, ..

article thumbnail
HTML 정리
WEB/front-end 2023. 1. 17. 02:03

HTML(HyperText Markup Language) 이란? 웹 브라우저에 표시되도록 설계된 문서의 표준 마크업 언어 - HTML 문서라고도 불리며, HTML 태그들로 구성 - 각각의 HTML 태그는 웹 페이지의 디자인이나 기능을 결정하는데 사용됨 기본 태그 태그 의미 웹 문서의 유형을 html로 지정 문서를 html로 시작, 언어를 한국어로 지정 문서 구조 태그 태그 의미 헤더 영역 메인 영역 콘텐츠 영역 콘텐츠 영역 (독립적) 사이드 바 영역 푸터 영역 텍스트 입력 태그 의미 , , ... , 제목 (숫자가 작을수록 큼) 단락 줄 바꿈 (닫는 태그 없음) 인용문 (들여쓰기 적용) 텍스트 굵게 (주로 중요한 내용일 때) 텍스트 굵게 (단순히 굵게 표시할 때) 텍스트 기울임, (강조할 때, empha..

article thumbnail
mac MySQL, Workbench 설치

My SQL download 1. 아래 사이트로 들어가서, MySQL Community Server를 다운로드 받는다! 나는 인텔 cpu 여서, macOS 12 (x86, 64-bit) 를 다운 받았다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris mac..

article thumbnail
BOJ 23290번: 마법사 상어와 복제

문제 문제 바로가기> BOJ 23290번: 마법사 상어와 복제 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 풀이 문제를 풀 때 중요하다고 느낀 점을 몇가지 적어보겠다. 1. 배열 index 0 부터 시작할거면, 입력 시 위치, 방향 -1 해주기!! 2. 이동 못한 물고기는 제자리에 넣어주기 !! (`ismove` 변수를 이용해 찾지 못한 경우 제자리에 기존 방향으로 넣어주었다.) 안 그러면 물고기가 중간에 사라져 버리는 현상 발생 ^^ 3. 상어의 움직임 시뮬레이션할 때, ..

article thumbnail
Apache Tomcat 설치

Apache vs Apache Tomcat * Apache : Apache HTTP Server(HTTPD)라고 불리며, 오픈소스 소프트웨어 그룹인 아파치 소프트웨어 재단에서 만드는 웹서버 프로그램 * Apache Tomcat : JSP와 Servlet을 구동하기 위한 서블릿 컨테이너 역할, 아파치서버와는 다르게 DB연결, 다른 응용프로그램과 상호 작용 등 동적인 기능들 사용 가능 * 컨테이너 : 동적 데이터들을 가공하여 정적인 파일로 만들어주는 모듈 * 서블릿 : 클라이언트 요청을 받고, 요청을 처리하여, 결과를 클라이언트에게 제공하는 자바 인터페이스 (WAS 위에서 돌아가는 Java Program) * 서블릿 컨테이너 :서블릿들을 모아 관리 (새로운 요청이 들어오면 새로운 스레드 생성, 작업이 끝나면..

article thumbnail
BOJ 17143번: 낚시왕

문제 문제 바로가기 > BOJ 17143번: 낚시왕 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 풀이 문제를 풀 때 중요하다고 느낀 점을 몇가지 적어보겠다. 1. 상어 이동 시 편의를 위해, num 배열을 만들고, 해당 상어의 정보(순서)를 저장해 둔다. num[r][c] = i : (r, c) 위치의 상어는 i번째 상어 ( = shark[i]의 위치는 (r, c)) 2. 시간 초과 방지를 위해 상하 이동인 경우에는, s%=(2*R-2) 좌우 이동인 경우에는, s%=(2*C-2) 을 적용..

article thumbnail
BOJ 15663번: N과 M (9)
문제 풀이/백준 2023. 1. 15. 02:49

문제 문제 바로가기> BOJ 15663번: N과 M (9) 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 같은 위치에 같은 수가 오게되면, 중복 수열이 되므로, 이를 방지하기 위해 `prev` 를 이용해서 같은 자리에 같은 수가 오지 못하도록 해주었다! #include #include #define MAX 10 using namespace std; int N, M; bool isused[MAX]; int num[MAX], ans[MAX]; void input() { cin >> N >> M; for (..

article thumbnail
Web Server와 WAS
WEB/기타 2023. 1. 14. 00:23

Static Pages vs Dynamic Pages Static Pages Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환 항상 동일한 페이지 반환 ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 Dynamic Pages 인자의 내용에 맞게 동적인 contents를 반환 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물 개발자는 Servlet에 doGet(), doPost() 등을 구현 Web Server vs WAS Web Server 하드웨어 : 웹서버가 설치되어 있는 컴퓨터 소프트웨어 : 웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠(.html .jpeg .css 등)를 ..

article thumbnail
mac JAVA Zulu Open JDK 설치

* JDK(Java Development Kit) : Java로 sw 개발을 할 수 있도록 여러 기능들을 제공하는 패키지 * Java EE(Enterprise Edition) : JavaSE + 웹 어플리케이션 서버에서 동작하는 기능을 추가한 플랫폼 JAVA Zulu Open JDK 설치 https://www.azul.com/downloads/?os=macos&architecture=x86-64-bit&package=jdk Downloads According to the Gartner report, “by 2025, more than 70% of Java applications will be deployed on third-party Java runtimes, up from 30% in 2019.” ww..

article thumbnail
BOJ 17144번: 미세먼지 안녕!

문제 문제 바로가기> BOJ 17144번: 미세먼지 안녕! 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 문제에서 요구하는 대로 구현만 해주면 된다! C++ #include #define MAX 51 using namespace std; int ar = 0; int R, C, T; int home[MAX][MAX]; int copy_home[MAX][MAX]; int dr[] = {-1, 1, 0, 0}; int dc[] = {0, 0, -1, 1}; void input(){ cin >> R >> C ..

article thumbnail
DBMS (데이터베이스 관리 시스템)
CS/데이터베이스 2023. 1. 12. 09:12

DBMS (Database Management System) : 어떤 조직에 대한 모든 정보를 가지고 있는 시스템으로, 데이터를 체계적으로 저장, 관리, 운영할 수 있도록 잘 조직화한 것 서로 관련된 데이터들의 집합, 데이터에 접근하기 위한 프로그램의 집합 (DB) + 데이터와 프로그램을 쉽고 편리하게 사용할 수 있는 환경 ( = DBMS) ( * DBMS는 DB에 정보를 저장하고, 또 이를 검색하기 위한 편리하고 효율적인 환경을 제공) DBMS 목적 DBMS 이전에는 파일 시스템을 이용해 데이터를 관리 이 경우, 데이터 중복, 비일관성, 고립, 무결성 등의 문제가 발생 ! → 이러한 문제를 해결하기 위해 DBMS 등장! DBMS 특징 데이터의 독립성 물리적 독립성 : 응용 프로그램이 물리적 스키마(크기..

article thumbnail
DeadLock (교착 상태)
CS/운영체제 2023. 1. 12. 00:35

DeadLock 일련의 프로세스들이 서로가 가진 자원을 기다리며 block 되어 더 이상 진행이 될 수 없는 상태 ( * LiveLock : 스레드가 정체된 상태는 아니지만 계속 시도해도 진행이 안되는 경우 ) Deadlock Characterization : deadlock이 일어나기 위한 4가지 필요조건으로, deadlock이 일어난 경우 아래 조건을 모두 만족한다! 1. Mutual exclusion (상호 배제) : 단독으로 사용해야하는(공유가 불가능한) 자원이 적어도 하나 존재 2. Hold and wait (점유 대기) : 어떤 자원을 획득한 상태에서 다른 자원을 기다리는 상태 3. No preemption (비선점) : 본인인 스스로 더 이상 진행되지 않음에도 불구하고 가지고 있던 자원을 놓..

article thumbnail
BOJ 14502번: 연구소

문제 문제 바로가기> BOJ 14502번: 연구소 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 벽 3개를 놓을 수 있는 모든 조합의 경우를 고려해서, 안전 영역의 최대 크기를 구해 주면 된다! C++ #include #include #define MAX 9 #define EMPTY 0 #define WALL 1 #define VIRUS 2 using namespace std; int N, M; int ans = 0; int lab[MAX][MAX]; int copy_lab[MAX][MAX]; int dy[] = {..

article thumbnail
BOJ 14889번: 스타트와 링크

문제 문제 바로가기> BOJ 14889번: 스타트와 링크 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 풀이 start와 link 팀을 나눌 수 있는 모든 경우의 수로 나누어주고, 두 팀의 능력치 차이의 최솟값을 구해주었다. C++ #include #include #define MAX 21 #define INF 1000000001 using namespace std; int N, ans = INF; int score[MAX][MAX]; bool start_team[MAX]; void input() { cin >> N; for (i..