본문 바로가기

반응형

Programming

(163)
[LeetCode] Longest Common Prefix | 난이도: Easy 문제 Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". 문자 배열에서 가장 긴 공통 접두사를 찾는 함수를 만드시오. 공통 접두사라 없을 시 ""를 리턴. 예시 Input: strs = ["flower","flow","flight"] Output: "fl" Input: strs = ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings. 제약조건 1
[Spring] Path with "WEB-INF" or "META-INF" Spring Boot Gradle 프로젝트 초기 세팅 후 간단한 테스트를 위해 controller 및 jsp 파일을 만들어 준비된 메서드를 호출했다. 하지만 결과는 404. Console에 찍히는 에러 메시지는 다음과 같다. ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF" Spring Boot에서 Tomcat을 사용할 때 JSP를 처리하는 서블릿을 추가하지 않아서 발생한 에러. Gradle의 경우 build.gradle에 다음 내용을 추가한다. implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' Maven의 경우 pom...
[JPA] Part.02_Hibernate를 활용한 JPA 사용(CRUD 연습) 사전 세팅 아래와 같이 3개의 파일을 생성한다. 파일 명칭은 본인이 컨트롤하는 테이블 명칭에 빗대어 작성해본다. - Product.java : DB에 테이블과 매칭되는 클래스. Entity를 생성한다. - ProductRepository.java : DB Layer에 접근하는 인터페이스 - ProductController.java : DB를 브라우저에서 요청하여 호출할 수 있도록 해주는 컨트롤러 Product.java package com.example.test.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persisten..
[JPA] Part.01_프로젝트 기본 세팅 개발환경 - Spring Boot - Gradle - MySQL 프로젝트 생성 File - New - Spring Starter Project 스프링부트 버전 및 의존 설정 DB 연결 설정 스프링부트 버전 및 의존 설정 localhost:자신이 사용하는 포트 번호/생성한 스키마 이름 본인은 MySQL을 사용하기 때문에 MySQL Workbench에서 3307 포트를 사용하는 root 계정 생성 후 jpa라는 이름의 스키마를 생성했다. spring.datasource.url=jdbc:mysql://localhost:3307/jpa spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name..
JPA란 무엇인가 우선, MyBatis란 무엇인가 - JDBC를 좀 더 편하게 사용할 수 있도록 객체를 SQL이나 저장 프로시저와 매핑해주는 SQL Mapper. 객체지향 언어인 자바가 RDBMS를 좀 더 쉽게 다루기 위해 MyBatis를 사용한다. MyBatis의 장점은 다음과 같다. 다른 프레임워크들에 비해 간단하다. 소스 코드와 SQL의 분리로 생산성이 뛰어나다. SQL을 직접 다룰 수 있어 복잡한 쿼리, 함수 및 저장 프로시저 등의 사용이 가능하다. 하지만 단점도 뚜렷하다. 반복적인 코드와 CRUD SQL을 필요 시 계속 작성해야 한다. SQL과 데이터베이스 벤더에 대한 종속성(DB 변경 시 해당 DB 특성에 맞게 SQL 구문, 타입으로 수정해야 한다) 객체 지향의 장점을 살릴 수 없고, 단순히 객체를 데이터 전달..
[LeetCode] Roman to Integer | 난이도: Easy 문제 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마자를 정수로 변환. 예시 Example 1 Input: s = "III" Output: 3 Example 2 Input: s = "IV" Output: 4 Example 3 Input: s = "IX" Output: 9 Example 4 Input: s = "LVIII" Output: 58 Explanation: L = 50, V= 5, III = 3. Example 5 Input: s = "MCMXCIV" Output: 1994 Explanation: M = ..
[LeetCode] Palindrome Number | 난이도: Easy 문제 Given an integer x, return true if x is palindrome integer. An integer is a palindrome when it reads the same backward as forward. For example, 121 is palindrome while 123 is not. 주어진 정수 x의 값이 palindrome(회문(回文))일 경우 true를 리턴한다. *회문(回文) : madam이나 nurses run처럼 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어나 구(출처: 네이버) 예시 Input: x = 121 Output: true 예시 Input: x = -121 Output: false Explanation: From left to right, ..
[LeetCode] Reverse Integer | 난이도: Easy 문제 Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [−2³¹, 2³¹ − 1], then return 0. 주어진 32비트 정수 x값이 있다. 정수 x 자릿수를 역으로 바꾸어라.만약 역으로 바꾼 정수의 값의 범위가 −2³¹, 2³¹ − 1를 넘어갔을 경우, 0을 반환한다. 예시 Input: x = 123 Output: 321 말 그대로 숫자를 반대로 뒤집는 것. 답안 class Solution { public int reverse(int x) { long res = 0; while(x != ..

반응형