전체 글 43

[백준] 21922번 - 학부 연구생 민상 (Java/자바)

21922번: 학부 연구생 민상 첫 번째 줄에는 연구실의 크기가 세로 $N(1 \le N \le 2,000)$, 가로 $M(1 \le M \le 2,000)$ 순으로 주어진다. 두 번째 줄부터 $N + 1$ 줄까지 연구실 내부 구조 정보를 알려주는 값 $M$개가 주어진다. $1,2,3,4$ www.acmicpc.net 학부 연구생 민상 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 512 MB 772 204 125 24.131% 문제 학부 연구생으로 새로 연구실에 들어온 민상이는 사용할 자리를 정하려고 한다. 연구실은 격자 모양으로 되어있고 에어컨에서 바람이 상,하,좌,우 4방향으로 분다. 물론 에어컨이 위치한 곳에도 바람이 분다. 민상이는 더위를 많이 타서 에어컨 바람이 지나가는 곳 중..

[Spring/스프링] API (Application Programming Interface)

API 란? 그리고 언제 사용되나요? Application Programming Interface의 약자로, 사전적의미로는 OS나 프로그램 사이의 통신에 사용되는 언어나 메시지 형식을 의미한다 웹 개발자의 관점에서 쉽게 예를들어보자. 안드로드나 또는 ios 앱개발자와 협업을 해야할 때, 편리성을 위해 Json이라는 데이터포맷으로 내려주게 되는데, Json 포맷으로 데이터를 전달하는 것이 바로 API 방식이다. 특히 서버끼리 통신할때는 html을 사용할 필요가 없이 데이터의 흐름만이 중요하기 때문에 API 방식을 많이 사용한다. 그전에, String으로만 데이터를 html로 표현해봐요 @Controller public class HelloController { @GetMapping("hello-string..

Programming/Spring 2022.02.26

[Spring/스프링] MVC와 템플릿엔진

MVC가 왜 필요한가요? 정적 컨텐츠를 사용하면 안되나요? 대다수의 웹 개발에서는 HTML을 그대로 주는 것이 아니라 서버에서 필요에 따라 프로그래밍 하여 동적으로 바꾸는 작업이 필요하다. 이런 작업을 원활하게 수행하기 위해서는 각각의 역할을 잘 나눌 필요가 있다. 이때 사용되는 것이 MVC! 다시 말해 정적컨텐츠는 파일을 그대로 웹브라우저로 전송하는 것이라면, MVC는 서버에서 파일을 변형하여 내려주는 방식이다. 그렇다면 MVC란? Model, View, Controller의 약자. View는 화면을 그리는 역할만 수행하고, Controller는 내부의 비지니스 로직이나 서버단의 일을 처리하며, Model은 코드내의 데이터 집합을 전달해주는 역할만을 수행한다! 이런 구조를 MVC 구조라고 부른다. he..

Programming/Spring 2022.02.26

[Spring/스프링] 정적 컨텐츠 (Static Content)

정적 컨텐츠 (Static Content)란 무엇인가요? 정적 컨텐츠는 서버에서 어떠한 동작을 하는 것이 아닌 존재하는 html 파일만 그대로 내여주는 작업을 의미한다. 원하는 html파일을 static 폴더에 넣어주면, 해당 html이 웹 브라우저에 그대로 렌더링 된다. 정적 컨텐츠 입니다. 위와 같은 hello-static.html 파일이 static 폴더에 존재한다고 가정해보자. 파일을 실행 후 웹사이트에 접속하여 개발자모드로 코드를 보자. 위에서 타이핑한 코드와 완전히 똑같다! 이처럼 단순히 html 코드를 그대로 출력 시키는 것을 정적 컨텐츠 (Static Content) 라고 부른다. 정적 컨텐츠 (Static Content)는 어떻게 동작하나요? 웹브라우저에서 요청이 들어오면 우선 내장 톰켓..

Programming/Spring 2022.02.26

[티스토리/tistory] 코드블럭 테마, 폰트, 줄간격 변경, 회색 테두리 삭제

티스토리에서 기본 제공하는 코드블럭은 너무..너무.. 못생겼다 그래서 코드블럭 내의 테마와 폰트, 그리고 줄간격을 변경해보려고 한다. 1. 우선 플러그인 -> Syntax Highlight (코드 블럭 강조) 끄기 해당 기능이 켜져있으면 테마가 제대로 적용되지 않는다. 테마 적용전 반드시 해줘야하는 작업. 2. 코드블럭 테마 변경 highlight.js demo highlightjs.org 우선 위의 사이트에 접속하여 마음에 드는 테마를 찾는다. 설정 -> 꾸미기 -> 스킨편집을 누른다. 이후 html 코드의 아래에 하단의 코드를 삽입한다. 참고로 본인이 선택한 테마는 Lioshi이기에 끝에 lioshi 라고 입력했다. 위의 사이트에서 마음에 드는 테마로 선택하여, 테마명의 소문자를 제거하고 공백은 -로..

[백준] 2583번 - 영역 구하기 (Java/자바)

2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 바이러스 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 88100 41450 28192 45.555% 문제 눈금의 간격이 1인 M×N(M,N≤100)크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영..

[백준] 2606번 - 바이러스 (Java/자바)

2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 바이러스 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 88100 41450 28192 45.555% 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과..

[백준] 1780번 - 종이의 개수 (자바 /Java)

https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 종이의 개수 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 256 MB 24882 14709 11083 58.918% 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (..

[계획] 3주간의 알고리즘 문제풀이 계획

⚠️공부할때 주의 할 점 - 지나치게 시간이 많이 소요될경우 개념을 모른다는 의미, 계속풀기보다는 다른사람의 코드 참고하여 배워가기 - 문제를 풀고나서 꼭 다른 사람의 코드를 볼것! 비슷하면 넘어가고 다르면 배워가기 - 이때 랭킹 100위권 정도의 코드가 적당함 (그앞은 길이를 줄이기 위해 코드가 이상할 수 있음) 📌 목표기간 및 계획 - 목표 기간 : ~2월 13일 - 총 155문제, 문제 순서는 다음과 같음 ​ [입출력] 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 244..

📅Plan 2022.01.25

[자바 자료구조] 객체지향, 상속, 클래스, 오버라이드

아래와 같은 코드들이 있다. int i = 10;// 첫째줄 short j;// 둘째줄 long k;// 셋째줄 Student S = new Student(); 첫줄, 둘째줄, 그리고 셋째줄은 4byte, 2byte, 그리고 8 byte만큼의 공간을 차지한다. 그렇다면 Student라는 객체로 선언된 s는 얼만큼의 메모리 공간을 차지할까?​ JVM은 특정 객체를 선언받았을때, 객체의 크기와 관련없이 s라는 4byte의 공간을 만든다. 그리고 이 공간은 다시 heap에 있는 실제 Student만큼의 객체 크기 만큼 할당한 부분을 가리킨다. 도식화한 모습은 다음과 같다. 아래와 같은 Person이라는 클래스와 Student라는 클래스가 있다고 하자 Person() { id name email } Studen..