분류 전체보기(222)
-
14499 - 주사위 굴리기
이번 문제는 해석만 잘 하면 쉽게 풀리는 문제였다... 하지만 처음에 정육면체인 주사위의 움직임을 어떻게 표현하는가에 대한 고민을 많이 해야했다. 이것만 해결되면 쉽게 풀리는 문제... 나는 방향에 따른 주사위의 움직임이 아래와 같음을 찾아냈다. 이를 리스트로 나타낸 후, 각 움직임에 따른 주사위 번호의 위치를 변화시켰다. 그리고 문제 해석상의 시행착오를 한번 겪었는데... 문제에서 "주사위는 지도의 바깥으로 이동시킬 수 없다. 만약 바깥으로 이동시키려고 하는 경우에는 해당 명령을 무시해야 하며, 출력도 하면 안 된다." 문구가 있는데, 난 처음에 주사위를 굴려서 지도 밖으로 이동 하는 경우에는 이후 명령인 지도가 0인 경우에는 주사위의 아랫면 수를 복사하고, 0이 아닌 경우 지도상의 숫자를 주사위 아랫..
2022.07.26 -
프로젝트 환경 설정 - View 환경 설정 [By 김영한 ]
resources/static/index.html 의 정적파일을 생성 여기에 thymleaf 템플릿 엔진을 이용해서 동작하고 프로그래밍 되는 화면을 만들 예정 웹 애플리케이션에서 첫번째 진입점 = Controller 컨트롤러에서 리턴 값으로 문자를 반환하면 viewResolver가 화면을 찾아서 처리한다. 스프링 부트 템플릿 엔진 기본 viewName 매핑 resources:templates/ + {ViewName} + .html 결과를 웹에서 보게 되면 아래와 같다. 위의 프로세스를 도식화하면 아래와 같다. 자동으로 컴파일 해주는 devtools 추가하기! build.gradle 파일에 spring-boot-devtools 의존성 추가 위와 같은 과정을 수행한 뒤에 빌드하면, 자동 컴파일이 된다.
2022.07.25 -
프로젝트 환경 설정 - 라이브러리 살펴보기 [By 김영한 ]
많은 외부 라이브러리들이 있음 - maven이나 gradle은 많은 라이브러리들의 의존관계를 관리해준다. 따라서 thymeleaf, web과 의존관계를 가진 라이브러리들이 외부 라이브러리로 들어오게 된다. 요즘은 소스라이브러리에서 Tomcat 과 같은 웹서버를 내장하고 있음 (다른 설정이 필요없음) -> 웹서버가 바로 떠서 8080으로 접속 가능 Spring Boot 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat : 톰캣(웹서버) spring-webmvc : 스프링 웹 MVC spring-boot-starter-thymleaf : 타임리프 템플릿 엔진(view) spring-boot-starter(공통) : 스프링부트 + 스프링코어 + 로깅 spri..
2022.07.25 -
프로젝트 환경 설정 - 프로젝트 생성 [By 김영한 ]
JDK : 자바 11 버전 IDEA : Intelli J Spring Initializr 은 스프링부트를 기반으로 스프링 관련 프로젝트를 만들어주는 사이트 1. Project Maven Project : 필요한 라이브러리를 땡겨오고, 빌드하는 라이프 사이클까지 관리하는 툴 Gradle Project : 최근 트렌드 (버전 설정, 라이브러리 땡겨오는 툴) 2. Project Metadata Group : 기업 도메인 명 Artifact : 빌드되어 나오는 결과물 ( 프로젝트 명과 비슷 ) 위에서 설정하여 만들어진 폴더를 인텔리J에서 임포트하면 아래와 같이 설정되어 나타난다. .idea : 인텔리J가 사용하는 설정파일 gradle : gradle과 관련하여 사용할 것들이 들어있는 폴더 src > main, ..
2022.07.24 -
스프링 입문 - 개요 [By 김영한 ]
- 목차 - - 스프링 프로젝트 생성 - 스프링 부트로 웹 서버 실행 - 회원 도메인 개발 - 웹 MVC 개발 - DB 연동 : JDBC, JPA, 스프링 데이터 JPA - 테스트 케이스 작성 사용할 기술 : Spring Boot, JPA, Gradle, HIBERNATE, Thymeleaf 스프링 웹 어플리케이션을 만드는 핵심 사이클을 한번 돌아보면서 Spring에 대한 공부를 해보자.
2022.07.24 -
BFS - 맥주 마시면서 걸어가기 [ 9205번 ]
처음에는 BFS로 어떻게 생각하지... DFS로 어떻게 생각하지...했다. 요즘 머리가 잘 안돌아가는 것 같다 ㅠ.ㅠ 쨌든 편의점의 경우에는 순서 상관없이, 모든 편의점을 방문할 필요 없이 맥주 20개로 5M 씩 총 1000M(1KM) 를 가면서 목적지까지 가면 된다. 그렇기 때문에 bfs를 이용해서 편의점까지 가는데 1000M 이하면 방문하면 된다. 그리고 수시로 목적지까지 바로 갈 수 있는지 체크하면서 편의점 방문 여부를 확인하면 된다. from collections import deque def bfs(x, y): q = deque([(x, y)]) visited = [False] * n while q: x, y = q.popleft() if abs(x-ex) + abs(y-ey)
2022.07.22