본문 바로가기

Learning-log126

(Java) SWEA 7964. 부먹왕국의 차원관문 알고리즘 스터디에서 푼 지는 꽤 됐지만 알고리즘과 백엔드 공부에 정신없이 치여 살다가 이제야 기록하는 문제풀이 ..! 오늘부터 1일 최소 1문제풀이 글 작성 꼭꼭 하자 :) 1. 문제 조건 분석하기 - 입력 테스트 케이스 수 T N : N개의 부먹왕국 도시수 / D: 이동제한 거리 각 도시에 차원관문이 남아있는지를 표현하는 수(1은 연결, 0은 파괴) - 문제 설명 부먹왕국 도시들이 이동제한 거리 내에서 관문에서 다른 관문으로 이동 가능하며, 모든 도시들이 이동 가능하도록 관문을 얼마나 추가로 설치해야 하는지를 계산해야 한다. ** 주의 ** 모든 차원 관문 사이와 직접적으로 이동 가능하도록 해야한다는 조건이 있음을 주의해야 한다. 예를 들어 D=1 일 때는, 모든 도시에 관문이 설치되어야 관문에서 관문.. 2023. 3. 20.
비즈니스 요구사항 정리 - 아직 DB가 선정되지 않은 상황 : 성능이 중요한 데이터베이스를 쓸지 등등이 정해지지 않은 상황 가정 - 일반적인 웹 애플리케이션의 계층 구조 컨트롤러 - 서비스 - 리포진토리 - DB 도메인 - 컨트롤러 : 웹MVC의 컨트롤러 역할, API만들거나 할 때 컨트롤러 역할 - 서비스 : 핵심 비즈니스 로직 구현 - 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장,관리 - 도메인 : 데이터베이스에 주로 저장하고 관리되는 비즈니스 도메인 객체 아직 데이터베이스가 지정되지 않은 상황으로 인해, 회원을 저장할 수 있는 리포지토리는 인터페이스로 만들고 구현체를 메모리 구현체로 만들 것. Memory에 넣었다 뺐다 할 수 있는 단순한 구현체를 만들어 추후 데이터베이스가 정해지면 이를 바꿔끼울 것. .. 2023. 3. 20.
MVC와 템플릿 엔진 / API 1. MVC(Model, View, Controller) - 예전에는 view에 모든 걸 다 하고 controller가 따로 있지 않았음. - view 란 : 화면을 그리는 데에 모든 역량을 집중 - controller : 비즈니스 로직과 관련있거나 내부적인걸 처리하는데에 관심 있음 - 요즘엔 컨트롤러와 뷰를 쪼개는게 기본 ! - 비즈니스 로직, 서버와 관련된건 컨트롤러 쪽에서 다 처리하고 model에다 관련된 화면에 필요한 것을 담아서 view에 넘겨주는 패턴 많이 활용 - controller - 웹브라우저에서 localhost:8080/hello-mvc를 보내면 스프링 부트가 띄울 때 같이 띄우는 내장 톰켓서버를 먼저 거쳐. helloController에 저 메서드에 매핑이 돼있는 걸 확인하고 ret.. 2023. 3. 9.
(Java) SWEA 1860. 진기의 최고급 붕어빵 풀이(2023-02-24) 1. 문제 조건 분석하기 진기가 M초마다 K개씩 만드는 붕어빵을 N명에게 판매. N명은 입력된 숫자의 시간에 도착하며 기다리지 않고 받아갈 수 있다면 Possible, 불가능하면 Impossible 출력할 것. 2. 아이디어 1) 카운팅 배열을 만든 후 사람이 들어오는 시간을 index로 하여 max시간까지 만든 붕어빵을 값으로 더한다. 그리고 누적합 시킨다. 그 후, 입력값을 돌며 해당 시간에 들어온 사람만큼 붕어빵을 빼준다.( 이 때, 배열에서 끝까지 빼주지 않으면 앞에서 사간 붕어빵이 그 시간 이후에 반영되지 않으므로 주의해야 한다.) => 사람이 들어온 시간을 정렬시켜 시간 순으로 빼주고 뺄 때마다 붕어빵 개수가 0보다 작아졌는지 확인후 작아졌으면 Impossible을 다 돌고도 문제가 없었으면 .. 2023. 2. 26.
Spring - Section 1강의 실습 기록(2022-02-22 ~ 2022-02-23) 같은 반 친구들과 인프런의 김영한 선생님의 Spring 강의를 선수강해, 예습을 하기로 했다. 한 번도 접해보지 못한 프론트 수업을 들었을 때, 많이 버벅거리고 버거워했던 기억이 있어서 냉큼 그 스터디에 올라탔다. 처음에는 블로그에 강의를 수강한 과정을 기록할 생각 없이 듣기 시작했다. 그런데, 평소 이클립스만 쓰다가 인텔리제이를 쓰려니 낯설고 어려운 부분이 많았고 어제 해결한 오류를 오늘은 또 기억 못하는 내 모습을 보고 블로그에 기록을 좀 해놓기로 결심했다. 누군가에게 도움이 될 수도 있고, 또 매일매일 머리에 수많은 정보들을 밀어 넣느라 가볍게 여기고 놓친 부분들을 훗날 복습하기에도 좋겠다는 생각이 들었기 때문이다. 1. 인텔리제이 설치하기 https://www.jetbrains.com/ko-kr/.. 2023. 2. 24.
Java - 기본문법 (변수, 자료형, 형변환, 연산자) 1. 변수 - 데이터를 저장할 때 메모리의 위치를 나타내는 이름으로, 메모리 상에 데이터를 보관할 수 있는 공간을 확보한다. - 적절한 메모리 공간을 마련하기 위해 Java에서는 변수의 타입을 지정해줘야 한다. - 할당 연산자('=')를 통해 변수에 데이터의 주소를 대입한다. - Java에서 변수명은 변수 작명 규칙을 따라야 하며, 작명 규치은 아래와 같다. - 변수 작명 규칙 - 자바 예약어 목록 2. 자료형 - Java에서 변수가 선언될 때 반드시 함께 지정되야 하며 변수에 담길 데이터의 종류를 의미한다. - 변수가 선언될 때 해시맵에 변수에 담길 데이터가 들어갈 메모리 공간을 마련하는데, 이 메모리의 크기를 얼마나 잡아둘 지를 지정해 준다. - Java에는 기본 자료형과 참조 자료형이 있다. 1) .. 2023. 2. 15.