반응형
알고리즘
JAVA 프로그래머스 핸드폰번호 가리기, 부족한 금액 계산하기
핸드폰번호 가리기
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12948
2. 풀이
- 뒤에서 4자리 수를 제외한 나머지 수자들을 *로 변환한뒤 제외했던 숫자들을 뒤에 붙여준다
class Solution {
public String solution(String phone_number) {
String answer = "";
int v = 4;
//뒤에 4자리 수를 제외한 폰넘버 개수
int star = phone_number.length() - v;
for(int i=0; i<star; i++){
//별로 바꿔주기
answer += '*';
}
//별뒤에 뒤에 4자리 수 더해주기
answer += phone_number.substring(star, star+v);
return answer;
}
}
부족한 금액 계산하기
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/82612
2. 풀이
- 놀이기구를 1회 이용 하는 비용은 3원, 다회 이용할 경우 배수로 늘어나는 놀이기구 이용 비용을 구한다(4회 이용)
- 비용과 예산의 차액을 구해 부족한 금액을 출력하고 부족하지 않으면 0을 출력
class Solution {
public long solution(int price, int money, int count) {
long answer = 0;
long m = 0;
//3원인 놀이기구를 4번탄 비용 구하기
for (int i=1; i<=count; i++) {
m += price*i;
// 계산한 비용(m)이 가지고 있는 돈(money)보다 많으면 차액만큼 출력
if (money < m) {
answer = m - money;
// 계산한 비용(m)이 가지고 있는 돈(money)보다 적으면 0 출력
} else {
answer = 0;
}
}
return answer;
}
}
2. 다른사람의 풀이
- Math.max(a,b) : a,b 두인자중 큰값을 리턴
- price * (count * (count + 1) / 2) 식으로 30을 구한다음 비용을 제한 값과 0 중 비교하여 큰값을 출력
class Solution {
public long solution(long price, long money, long count) {
return Math.max(price * (count * (count + 1) / 2) - money, 0);
}
}
반응형
'알고리즘 > Java' 카테고리의 다른 글
[JAVA] 프로그래머스 서울에서 김서방 찾기 (0) | 2021.11.09 |
---|---|
[JAVA] 프로그래머스 행렬의 덧셈, 2016년 (0) | 2021.11.09 |
[JAVA] 프로그래머스 없는숫자 더하기, 평균 구하기 (0) | 2021.11.09 |
[JAVA] 프로그래머스 문자열을 정수로 바꾸기 (0) | 2021.11.09 |
[JAVA] 프로그래머스 콜라츠 추측 (0) | 2021.11.08 |