분류 전체보기 1341

LEVEL 3 : 정수 삼각형

https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 문제 풀이 DP를 활용한 간단한 문제이다. dp 2차원 배열을 선언 후 dp [0][0]에 초깃값을 넣어준다 2번째 줄부터는 DP를 활용하면 된다. 1열 = 이전 행에 첫번째 요소에 값 밖에 못 더해준다. 2열 ~ n -1 열 = 이전행의 i-1, i 번째 열 중 큰 값에 현재 값을 더해준다 n열 = 이전행의 마지막 열을 요소 값 밖에 못 더해준다. public static int solution(int[][] triangle) { in..

LEVEL 3 : 리틀 프렌즈 사천성

https://programmers.co.kr/learn/courses/30/lessons/1836 코딩테스트 연습 - 리틀 프렌즈 사천성 리틀 프렌즈 사천성 언제나 맛있는 음식들이 가득한 평화로운 푸드 타운. 푸드 타운에서 행복하게 사는 리틀 프렌즈들은 마을에 있는 매직 스푼을 보물처럼 보관하고 있다. 매직 스푼은 재료만 programmers.co.kr 문제 풀이 BFS로 풀이하면 되는 문제이다(쉽지 않지만 구현하기가 까다로웠다ㅠ_ㅠ) initArrayList = Character 형 List를 선언하고 모든 쓰촨 성이 연결될 수 있는 요소를 다 넣어준다. '.' , '*' 의 제외한 모든 요소들 List에 넣은 뒤 넣은 요소를 기준으로 정렬한다. 정렬 기준 1 : 알파벳 순으로 요소를 정렬 정렬 기준..

LEVEL 3 : 디스크컨트롤러

https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제 풀이 시작 시준을 기준으로 배열을 정렬한다 우선순위 큐를 선언한다 실행시간이 짧은 순으로 꺼내지도록 우선순위 큐를 정의한다. 반복문(모든 데이터를 처리했을 때까지 , count변수 == jobs.length까지...) 시간 변수를 하나 선언 한 뒤 시간 변수 전에 시작되는 모든 값들의 우선순위 큐에 넣는다. 만약 우선순위 큐가 비었을 경우 만약 [[1..

Ch02. 스프링 웹 개발 기초 - API

Http Body에 해당 데이터를 그대로 반환한다. 객체를 ResponseBody에 넣어서 반환하게 되면 어떤 형식으로 반환할까? JSON 형식으로 반환한다 API 전송방식이라고 한다. @ResponseBody에서 객체를 넘기면 Spring에서 HttpMessageConverter가 동작하게 된다. 단순 문자일 경우 StringConverter, 객체일 경우 JsonConverter가 동작한다. 변환한 데이터를 클라이언트로 전송한다.

스프링 입문 2021.11.25

Ch02. 스프링 웹 개발 기초 - 정적 컨텐츠

웹 개발 기초 단계 정적 컨택츠 = 변하지 않는 정적인 콘텐츠(HTML) 을 전송해 준다. MVC와 템플릿 엔진 = HTML을 서버에서 프로그래밍 하여 동적으로 변경하여 응답한다. API = JSON 구조 포멧을 통해 클라이언트에게 응답한다. 정적 컨텐츠 스프링 부트는 정적 컨텐츠를 자동으로 지원한다. resource/static/hello-static.html 정적인 파일 생성 정적 컨텐츠 입니다. 서버에서 정적인 데이터를 그대로 전송해 준다. Controller에서 hello-static과 관련 컨트롤러가 있는지를 본 뒤 없을 경우 static밑 해당 파일이 있는지를 확인한 뒤 있으면 그 파일을 반환한다.

스프링 입문 2021.11.25

Ch01. 프로젝트 환경 설정 - 빌드하고 시작하기

1. 프로젝트의 gradlew.bat(MAC 같은 경우 gradlew) 파일을 빌드한다. ./gradlew.bat build 만약, 이전에 빌드한 적이 있을 경우./gradlew.bat clean build로 모두 삭제했다가 다시 빌드한다. 중요한 점은 서버를 끄고 빌드를 해야 된다(포트를 두 개를 잡기 때문에 에러 발생) 2.build/libs로 이동 3. 빌드된 파일을 jar 명령어로 실행 java -jar hello-spring-0.0.1-SNAPSHOT.jar

스프링 입문 2021.11.24

Ch01. 프로젝트 환경 설정 - View 환경설정

SpringBoot SpringBoot 같은 경우 아무런 설정이 없을 경우 resources/static/index.html 파일을 Welcome Page로 설정해 준다. Spring은 범위가 굉장히 크기 때문에 필요한 것을 잘 찾아서 사용하는 것도 굉장히 중요하다. https://docs.spring.io/spring-boot/ Index of /spring-boot docs.spring.io 해당 페이지에서 원하는 내용을 찾는 방법을 연습하여야 한다. thymeleaf 공식 사이트: https://www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model..

스프링 입문 2021.11.24

Ch01. 프로젝트 환경 설정 - 라이브러리 살펴보기

의존성 추가는 몇 개 하지 않았지만 External Libraries에 많은 라이브러리가 존재한다. Spring-boot-starter-web 라이브러리를 설치하였지만 이와 의존 관계인 모든 라이브러리를 불러오기 때문 예전에는 톰켓 서버와 애플리케이션이 따로 분리되어 있었지만 최근에는 애플리케이션에 톰캣 서버가 내장되어 있다. Spring-boot-starter를 설치하게 되면 log,spring core 등 모든 스프링 관련 라이브러리를 받는다고 생각하면 된다. Spring-boot-starter를 설치하게 되면 표준으로 logback,sl4j를 사용하게 된다. spring-test : 스프링 통합 테스트 지원 test 같은 경우 Junit5 가 표준이다.

스프링 입문 2021.11.24