
자바 알고리즘 문제를 풀다보면 java.lang에 속하는 Integer 클래스를 활용해야 하는 경우가 많다. ex) 진법 변환 문제, 문자열-->숫자형 변환 , 2진법으로 변환후 1의수 구하기 자주 사용하는 Integer클래스의 메소드는 크게 다음과 같다. Integer.parseInt(String s) : 숫자형의 문자열을 인자값으로 받으면 해당값을 10진수 Integer형으로 변환한다 ex) Integer.parseInt("1004); Integer.parseInt(String s, int radix) : 숫자형의 문자열을 첫번째 인자값으로 받고, 변환할 진수값을 두번재 인자로 넣어주면 해당진수에 맞추어 Integer형 반환한다. ex) Integer.parseInt("2018",8); 반대로 Int..

돈과 관련된 계산, 팩토리얼 계산 등등 수가 long 타입의 범위를 넘어가는 경우가 있다. 이럴 때는 BigInteger 클래스를 사용해야 한다. 이 클래스를 사용하기 위해선 java.lang.Math 클래스를 임포트 해야한다. 또한 BigInteger는 기존 연산자들(+ - / * ) 등을 사용 할 수 없고 클래스에서 제공하는 메소드 만 사용할 수 있다. 프로그래머스 멀쩡한 사각형 문제를 풀다가 알게된 클래스인데 언젠가 사용할 때가 있는 클래스 인것 같다.

프로그래머스 lv2 정렬문제인 "가장 큰 수" 문제를 풀다가 알게 된 개념이다. Arrays.sort(배열) 과 같이 인자를 한개만 줘서 배열을 정렬하는 것은 알고 있었지만(오름차순) sort메소드에서 두번째 인자로 Comparator를 넘겨줘서 정렬하는 방식을 사용자가 정의하는 방식을 처음 알게 되었다. import java.util.Arrays; import java.util.Comparator; // 이와 같이 유틸리티 클래스 두개를 임포트해야 사용가능하겠다. Arrays.sort(배열, Comparator) 로 활용한다. 내부적으로 인자값으로 넘어온 Comparator 인터페이스의 compare메소드를 호출하여 비교(정렬) 하게 된다. compareTo 메소드 작성법 현재객체 < 파라미터객체 : ..

ArrayList는 java.util.ArrayList; 를 임포트하여 사용할 수 있는 라이브러리로, 일반적인 배열과 같은 순차리스트이며 인덱스로 내부 객체들을 관리한다는 점은 비슷하지만, 한번 생성되고나면 크기가 고정된 배열과는 달리 ArrayList는 객체들이 추가되게되면 자동으로 크기가 늘어난다는 특징이 있다. -ArrayList 선언 ArrayList list = new ArrayList(); // 타입을 미지정 하게 되면 Object 객체를 다루게 되지만 값을 뽑아낼때 Casting연산이 강요되기 때문에 비효율적이다. 따라서 우리는 ArrayList members = new ArrayList(); ArrayList num = new ArrayList(); //뒷 는 생략가능 과 같이 타입이 지정..

오늘은 프로그래머스 힙부분 Level2 문제인 "더 맵게 " 문제를 진행했다. 문제는 생각했던것 보다 쉽게 풀렸고 테스트케이스를 순조롭게 통과하였고 채점 및 제출 버튼을 눌렀다. 하지만 예상치못한 17점이라는 점수와 실패라는 결과를 받았고 컴파일 에러와 효율성 점수에서 문제를 확인 할 수 있었다. 다른 분들의 코드를 확인 해 본 결과 이 문제는 Priority Queue 즉 우선순쉬 큐를 활용해야 효율성 테스트에서 통과 할 수 있었다. ( 합격자들 코드 전부 우선순위큐를 사용함) 우선순위큐는 크기에 상관없이 막 넣어도 peek 나 remove를 통해서 내부적으로 정렬된 가장 작은 값을 반환해준다. 이 점을 활용해서 우선순위큐는 Sort메소드를 활용할 필요가 없어져 낭..

해시맵(HashMap) : 키(Key) 와 값(Value)를 하나의 세트로 묶어서 저장하는 컬랙션 클래스를 구현하는데 사용 특징 : 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남는다. key를 이용해 value를 알아낼 수 있다. 삽입, 삭제, 검색 과정에서 모두 평균적으로 O(1) 의 시간복잡도를 가지기 떄문에 빠름 순서에 상관없이 key만을 가지고 삽입,삭제,검색하기 때문에 순서/관계가 있는 배열에는 알맞지 않음 프로그래머스 Hash 완주하지 못한 선수 이 문제는 participant 배열과 completion 배열의 관계를 잘 생각해보면 바로 풀 수 있는 문제였다. participant 배열과 completion 배열의 길이차이는 무조건 하나였기 때문에 각 배열을..
- Total
- Today
- Yesterday
- git branch strategy
- vue정리
- JAVA설치 #JDK #JRE
- 버팀목 국민은행
- java 김영한 강의 #2chapter
- gc 기본 동작 원리
- Property or method "" is not defined
- 왜 트랜스지방은 살 찜
- java garbage collector 기본
- 스프링 동작흐름
- Netlify #CICD
- Java
- java gc
- 스프링 기본 구조
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- 청년 버팀목 대출
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- SSAFY 6기
- SQLD 후기
- Optinal Chaining
- 원자 원소 분자 차이점
- 스프링 동작흐름 #ioc #di #dispatcherservlet
- 알고리즘 나머지연산
- safe operator
- vue 특징
- 나머지연산 분배법칙
- gc란 뭘까
- Prim vs Dijkstra
- 부트스트랩 템플릿 사용시 충돌
- #web /was 구분이유
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |