안녕하세요 백준 11659 구간합 구하기 문제를 풀어보겠습니다. 11659번: 구간 합 구하기 4 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 문제풀이 1) 문제 분석하기 수의 개수, 합의 개수 횟수 최대 100,000 회 시간제한 0.5초 구간 합 공식 이용 해야함 구간 합 공식 이용하지 않을 시, 매번 계산을 해야 함으로, 시간을 초과하게 될 것이다. 보통 1억번 연산 = 1초 라고 생각하면 됨. 2) 요구조건 구현하기 N개의 수를 입력받음과 동시에 합 배열 생성하기 S[i] = ..
안녕하세요 코딩테스트 준비를 위해 꼭 알아야 하는 배열과 리스트에 대해서 정리해보겠습니다. 🚨 코딩테스트를 준비하실 분이라면 배열과 리스트는 무조건적으로 알아야지 진행을 할 수 없습니다. 위 자료구조를 알지 못한다면, 코딩 테스트 준비시 많이많이 힘들 수 있으므로 꼭 알고 가야 합니다. 배열이란? 메모리의 연속적인 공간에 값이 채워져 있는 형태의 자료구조이고 인덱스를 통해 값을 참조할 수 있다. 배열의 특징? 인덱스를 통해 값에 접근한다 새로운 값을 삽입하거나, 특정 인덱스 값 삭제하기 어렵다. 삽입,삭제를 하려면 주변 값을 이동시키는 과정이 필요합니다. 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기 변경 불가능 구조가 간단해서 코딩 테스트에서 제일 많이 사용합니다. 리스트란? 리스트..
안녕하세요 오늘으 알고리즘 문제를 풀다보면 꼭 알아야하는 시간복잡도에 대하여 알아보겠습니다 ✔ 실제 시간 복잡도를 정의하는 3가지 유형이 있습니다 💡 시간 복잡도 유형 빅-오메가(Big-Ω) = 최선일 때 연산 횟수 빅-세타(Big-θ) = 보통일 때 연산 횟수 빅-오(Big-O) = 최악일 때 연산 횟수 public class Ex { public static void main(String[] args) { //1~100사이의 랜덤값 선택 int randomNum = (int)(Math.random()*100); for (int i = 0; i 1,000,000,000,000 > 200,000,000(부적합) → 병합 정렬 ⇒ 1,000,000log(1,000,000) = 2,000,000 (적합) 이..
안녕하세요 오늘은 웹 백엔드 개발자라 하면은 꼭 알아야 웹 서버, 웹 어플리케이션 서버 개념에 대해서 알아보도록 하겠습니다. 일단 웹 브라우저 및 웹 환경에서는 클라이언트와 서버가 통신하기 위해 HTTP 라는 통신 프로토콜을 통해 데이터를 주고 받습니다. 🖐 여기서 그럼 HTTP 가 무엇인지를 궁금해 하실 수 있습니다. HTTP란? HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다 간단하게 이정도 의미라고만 알고 있으면 될 것 같습니다. 자세하게 HTTP에 대하여 공부하시고 싶으시면 https://www.cloudflare.com/ko-kr/learning/ddos/glossary/hypertext-transfer-protocol-http/ 요 링크에서..
JPA에서 자주 사용하는 메소드를 정리 해보도록 하겠습니다. 메소드 정리 및 예시 또한 적어보겠습니다. CRUD 1) findAll() 위 메소드는 DB 데이터를 조회(select)할 때 사용이 됩니다 @Test void SelectTest2() { List allList = this.questionRepository.findAll(); assertEquals(2, allList.size()); Question q = allList.get(0); assertEquals("안녕?",q.getSubject()); } 우리는 총 2건의 데이터를 insert했기 때문에 데이터의 사이즈는 2가 되어야 합니다. 데이터 사이즈가 2인지 확인하기 위해 JUnit의 assertEquals 메서드를 사용했습니다. asse..
백준 2884 알람시계 1) 문제 설명 1) 입력 2) 출력 문제설명은 여기까지하고, 문제 요구 조건 및 풀이를 해보겠습니다. 문제 요구조건 1) 변수 설정 2) 입력 받기 (Sacnner사용) => 추후에 BufferReader로 바꾸기 3) 조건 주기 분이 45분 보다 작을시 시간을 -1 한다 시간이 0보다 작을 시 23으로 바꾼다. 코드 적용 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int hour = sc.nextInt(); int min = sc.nextInt(); if(min < 45) { hour --; // 45보다 작을시 시간을 -1 min = 60-(45-min); if(hour < 0) ..
사전 작업 애플리케이션 등록 주소 : https://developers.kakao.com/console/app 에서 카카오 애플리케이션 등록을 한다 1-1) 카카오 로그인 활성화 (필수❗) → off 상태면 시작도 안됌.. 1-2) Redirect URI 설정 이 주소는 컨트롤러에서 맵핑하는 주소를 꼭 써야한다. ( 무조건‼‼) 1-3) 동의항목 설정 본인이 카카오 로그인시 가져올 정보를 선택하는 곳이다. 저는 테스트 용으로 한거라 아주 간단한 정보만 가져올수있고, 심사를 통해서 통과해야지 카카오에 등록된, 여러정보를 가져 올 수 있습니다… 1-4) 플랫폼 등록 플랫폼 등록을 해줍니다. 웹 도메인은 기본 로컬 주소를 등록 해줍니다. 이제 진짜 코드로 넘어가 보겠습니다. #2 TEST 💡 스프링부트 카카오..
TODO : 검색 로직, 대 댓글 만들기(231107) 개발 환경 : 인텔리제이 --> SpringbootMybatisMini 폼만 작성한 코드를 작성해서 적어두겠습니다 addform.jsp (댓글 등록폼) ; 0}"> ${no} ${dto.subject} ${dto.name} ${dto.readcount} ${dto.likes} 이전 ${pp } ${pp } 다음 content.jsp (댓글 출력폼) ${dto.subject} ${dto.name}(${dto.id}) 조회수 : ${dto.readcount} ${dto.content} 좋아요 ${dto.likes} 답글 수정 삭제 목록 글쓰기 이상으로 답변형 게시판 끝 입니다.
TODO : 검색 로직, 대 댓글 만들기(231106) 개발 환경 : 인텔리제이 --> SpringbootMybatisMini #1 여러 서비스를 실행시키기 위한 사전작업인 mapperInter 입니다 ReboardMapperInter package boot.data.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Mapper; import boot.data.dto.ReBoardDto; @Mapper public interface ReBoardMapperInter { public int getMaxNum(); public int getTotalCount(Map map); public List ..
🔔 TODO : 페이징 , 게시글 AJax수정, 삭제 📘 project : 인텔리제이 - SpringBootMybatisMini github : https://github.com/Hyeonqz/SpringBootMybatisMini 스프링부트 동작관정 간단 클라이언트가 JSP 페이지에 데이터를 입력하고 제출합니다. JSP 페이지에서 컨트롤러에게 요청을 보냅니다. 컨트롤러는 요청을 받고 필요한 작업을 수행합니다. 컨트롤러는 서비스로 데이터 처리를 위임합니다. 서비스는 필요한 비즈니스 로직을 실행하고 데이터베이스에서 데이터를 가져옵니다. 서비스가 데이터 처리를 완료하면, 결과를 컨트롤러로 반환합니다. 컨트롤러는 JSP 페이지로 데이터를 전달합니다. JSP 페이지는 데이터를 이용하여 동적 웹 페이지를 생성하고..