java

Java - BigDecimal 사용법 및 예제 최근 금융관련 프로젝트를 진행하면서 금액관련 정확한 연산을 위해 BigDecimal을 사용한 적이 있다. 오늘은 정말 간만에 BigDecimal 관련해서 기록할 것이다. 💡 BigDecimal 사용하는 이유 Java에서는 소수점을 저장할 수 있는 float과 double이라는 타입이 존재한다. 하지만 이 2가지 type의 경우는 소수점의 정밀도가 완벽하지 않아 값의 오차가 생길 여지가 존재한다. 이유는 내부적으로 수를 저장할 때 이진수의 근사치를 저장하기 때문이라고 한다. 때문에 이번 금융프로젝트는 돈과 이율 등 과 관련이 높기 때문에 미세한 숫자의 변동도 허용해서는 안되기 때문에 BigDecimal을 사용한다. 💡 BigDecimal 사용법 기본적으로 B..
StringBuilder는 무엇인가? JAVA에서 StringBuilder 와 StringBuffer 는 String 클래스 처럼 문자열을 다루는 클래스이다. String은 소위 불변(immutable) 객체라고 한다. String str1 = "abc"; String str2 = "def"; str1 + str2; // 새로운 String 객체 생성 위처럼 String 클래스가 문자열을 생성자로 넣어 인스턴스를 한 번 생성하고 나면 인스턴스가 가진 문자열 값을 변경하지 못하는 String 클래스의 단점을 보완했다. 즉, 같은 인스턴스 안의 문자열의 값을 변경할 수 있도록 되어있으며 원본 문자열을 바꿀 수 있는만큼 문자열을 다루는 메소드도 더 많이 포함되어 있다. 두 가지 클래스는 모두 쓰임과 메서드가 ..
프로그래머스 - 키패드 누르기 [JAVA] https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 📌 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에..
프로그래머스 - 부족한 금액 계산하기 (JAVA 풀이) 📌 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,..
상속을 사용하는 이유는 무엇일까? 💡 상속을 사용하는 이유 공통적인 부분을 가지고 있는 상위 클래스를 활용해 하위 클래스는 본인 고유의 상태와 행동을 정의하기 위함 코드의 확장성, 재사용성이 용이하고 중복된 코드를 상위 클래스로 빼기 때문에 코드가 간결해짐 결과적으로 유지보수가 쉬워짐 💡 이해를 돕기 위한 예시 여러분 예를들어 자동차, 기차, 선박, 항공기, 우주선 클래스를 정의한다고 가정해봅시다. 이들의 공통점은 운반의 수단이 된다는 것입니다. 그럼 이제 항공기와 열차를 각 각 클래스 별로 정의해봅시다. ✔️ 항공기 탑승인원, 짐의 무게, 승무원의 인원 등 👉 멤버 변수 탑승하는 메서드, 짐싣는 메서드, 승무원의 탑승 등 👉 멤버 메서드 ✔️ 열차 탑승인원, 짐의 무게, 열차의 칸 수 등 👉 멤버 변수..
프로그래머스 - 핸드폰 번호 가리기 [Java 풀이] ✔️ 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" ✔️ 문제 풀이 - Java class Solution { public String solution(String phone_number) { String answer = ..
프로그래머스 - 내적 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 내적은 (-1)*1 + 0*0 + 1*(..
프로그래머스 - 예산 [ Java 풀이 ] 프로그래머스의 예산 문제를 풀어보았습니다. ✔️ programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매..
코딩무니
'java' 태그의 글 목록 (4 Page)