일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- STS
- 자바
- date
- Spring Cloud
- 스프링
- SpringBoot
- 코딩테스트
- JS
- jQuery
- docker
- map()
- EUREKA
- spring boot
- Spring
- 프로그래머스
- Java
- map
- spring security
- 유레카
- leetcode
- IntelliJ
- 스프링부트
- GIT
- 도커
- 비동기
- OAuth
- 자바스크립트
- 스프링 클라우드
- JavaScript
- gitlab
- Today
- Total
목록자바 (27)
RATSENO
어노테이션만 붙이면 자동으로 getter, setter, 생성자 등등 여러 가지를 생성해주는 Lombok을 자주 사용합니다. IDE에서 자동생성으로 작성하는 경우도 있지만, 개발 편의성을 위해 Lombok을 쓰는 편입니다. 속성 값으로 boolean을 사용하며 네이밍을 is"XXXX" 로 사용할 경우 IDE에서 생성되는 getter, setter의 모습 Lombok을 이용하여 생성되는 getter, setter의 모습이 다릅니다. 이러한 경우 때문에, 간단하게 자주 사용되는 Mybatis(마이바티스)에서 해당 속성 값을 찾을 때 문제가 발생하곤 합니다. boolean - IDE 자동생성 public class Member { private boolean isNew; public boolean isNew(..
이번 포스팅을 좀더 쉽게 이해하기 위해서는 간단하게 interface, spring boot, spring profile, 개발 환경의 분리에 대해서 어느정도 지식이 있어야 할것 같습니다. 보통 어플리케이션을 개발할때 개발된 어플리케이션을 테스트 할 환경들을 분리하여 진행합니다. 용어는 각 개발환경 마다 다르니 참고만 해주세요 1. DEV(개발 환경) : 가장 활발히 수정과 배포가 일어나는 환경입니다. 2. QA(테스트 환경) : 개발한 어플리케이션을 이제 QA환경에 배포하여 테스트를 진행합니다. 3. SANDBOX(샌드박스 환경) : 테스트를 마치고 이제 상용환경에 배포되기 직전의 환경입니다. 4. Live(상용 환경) : 실제 사용자들이 접근할수 있도록 상용환경에 배포합니다. 위의 환경들이 추가되거나..
TreeSet은 이진 트리(binary tree)를 기반으로한 Set 컬렉션 입니다. 하나의 노드는 노드값인 value와 왼쪽과 오른쪽 자식노드를 참조하기 위한 두 개의 변수로 구성됩니다. TreeSet에 객체를 저장하면 자동으로 정렬되는데 부모값과 비교해서 낮은 것은 왼쪽 자식노드, 높은 것은 오른쪽 자식노드에 저장합니다. TreeSet을 생성하기 위해서는 저장할 객체 타입을 파라미터로 표기하고 기본 생성자를 호출하면 됩니다. TreeSet treeSet = new TreeSet(); String 객체를 저장하는 TreeSet은 다음과 같이 생성할 수 있습니다. TreeSet treeSet = new TreeSet(); Set 인터페이스 타입 변수에 대입해도 되지만 TreeSet 클래스 타입으로 대입한..
HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. HashMap의 키로 사용할 객체는 hashCode()와 equals() 메서드를 재정의해서 동등 객체가 될 조건을 정해야 합니다. hash값이란? hash는 '으깨다'라는 뜻으로, Hash는 Hash Table을 이용하여 데이터를 저장한다. 각 객체가 다른 코드값을 int로 생성해 인덱스로 사용하는데 이 알고리즘을 구현한 메소드를 Hash Method라고 하며 Hash Method에 의해 반환된 데이터 고유의 숫자 값을 Hash Code 라고 한다. 자바의 모든 클래스가 상속하고 있는 Object에는 hashCode()라는 메소드가 있다. (객체의 주소값같은 데이터라고 생각하자) 그래서 문자열의 hashCode() 메소드는 같은 ..
Map 컬렉션은 키(key) 와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있습니다. 여기서의 키와 값은 모두 객체입니다. 키는 중복 저장될 수 없지만 값은 중복 저장될 수 있습니다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치됩니다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있습니다. 다음은 Map 컬렉션에서 공통적으로 사용 가능한 Map 인터페이스의 메소드들입니다. 키로 객체들을 관리하기 때문에 키를 매개값으로 갖는 메소드가 많습니다. 기능 메소드 설명 객체 추가 V put(K key, V value) 주어진 키와 값을 추가, 저장되면 값을 리턴 객..
문제설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요 제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 문제풀이 class Solution { public long solution(long n) { long answer = -1; double doubleSqrt = Math.sqrt(n); int intSqrt = (int)doubleSqrt; return intSqrt == doubleSqrt ? (long)Math.pow(intSqrt+1,2) : -1; } } 다른 사람 문제풀이 class Solut..
문제설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한사항 n은 1이상 8000000000 이하인 자연수입니다. 문제풀이 import java.util.Arrays; import java.util.Collections; class Solution { public long solution(long n) { long answer = 0; String nStr = String.valueOf(n); /** * Collections.reverseOrder()를 사용하기 위해 Integer로 선언 */ Integer[] arrs = new Integer[nStr...
문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한사항 n은 10,000,000,000이하인 자연수입니다. 문제풀이 class Solution { public int[] solution(long n) { int[] answer = new int[String.valueOf(n).length()]; int index = 0; int temp = 0; while(n>0) { temp = (int) (n%10); n = n/10; answer[index] = temp; index ++; } return answer; } }
문제설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 문제풀이 import java.util.*; public class Solution { public int solution(int n) { int answer = 0; while(n>0) { answer += n%10; n = n/10; } return answer; } }
문제설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제풀이 class Solution { public String solution(String s) { int index = 0; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { if(s.char..