Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- geometry
- Binary Search
- dynamic programming
- 구현
- Stack
- Data Structure
- 코딩테스트
- Counting
- string
- Class
- java
- hash table
- two pointers
- database
- simulation
- Number Theory
- SQL
- 자바
- array
- 코테
- 파이썬
- implement
- Method
- Tree
- Math
- sorting
- Binary Tree
- bit manipulation
- greedy
- Matrix
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2739. Total Distance Traveled 본문
1. Input
1) int mainTank
- 트럭이 달리면서 소비하는 연료를 담은 탱크
2) int additionalTank
- 여분 탱크로, 트럭이 달리면서 직접적으로 해당 연료를 소비할 수는 없다.
2. Output
1) 다음과 같이 계산했을 때 트럭이 달릴 수 있는 최대 거리를 반환
- 트럭은 연료 1리터로 10km를 갈 수 있다.
- addtionalTank에 연료가 있는 한, mainTank의 연료 5리터를 소모할 때마다 addtionalTank의 연료 1리터가 mainTank로 자동 보충 된다.
3. Constraint
1) 1 <= mainTank, additionalTank <= 100
4. Example
Input: mainTank = 5, additionalTank = 10 -> Output: 60
설명:
- mainTank의 5리터를 쓴다.
- addtionalTank에서 mainTank로 1리터가 보충된다.
- mainTank의 1리터를 쓴다.
- 총 6리터를 썼으므로 6*10=60km까지 이동 가능하다.
5. Code
1) 첫 코드
class Solution {
public int distanceTraveled(int mainTank, int additionalTank) {
int used = 0;
while(mainTank>0){
if(mainTank>=5){
used += 5; mainTank -= 5;
if(additionalTank>0){
additionalTank--; mainTank++;
}
}
else{
used += mainTank; break;
}
}
return used*10;
}
}
- 56%, 85%
2) 반복횟수를 줄여본 코드
class Solution {
public int distanceTraveled(int mainTank, int additionalTank) {
int used = 0;
while(mainTank>=5){
int x = mainTank/5;
used += x*5;
mainTank %= 5;
if(additionalTank>=x){
additionalTank -= x;
mainTank += x;
} else if(0<additionalTank){
mainTank += additionalTank;
additionalTank = 0;
}
}
return (used+mainTank)*10;
}
}
- 100%, 74%
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2748. Number of Beautiful Pairs (0) | 2023.07.01 |
---|---|
[LeetCode/Easy] 2744. Find Maximum Number of String Pairs (0) | 2023.06.30 |
[LeetCode/Easy] 2733. Neither Minimum nor Maximum (0) | 2023.06.30 |
[LeetCode/Easy] 2729. Check if The Number is Fascinating (0) | 2023.06.30 |
[LeetCode/Easy] 2717. Semi-Ordered Permutation (0) | 2023.06.30 |