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 |
Tags
- two pointers
- Stack
- hash table
- bit manipulation
- database
- SQL
- java
- Counting
- sorting
- Method
- 코테
- 자바
- Class
- Data Structure
- 파이썬
- Tree
- Matrix
- string
- Math
- geometry
- array
- Number Theory
- greedy
- simulation
- implement
- 구현
- 코딩테스트
- Binary Search
- dynamic programming
- Binary Tree
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 1556. Thousand Separator 본문
1. Input
1) int n
2. Output
1) 3자리마다 점(.)을 찍은 문자열을 반환
3. Constraint
1) 0 <= n <= 2^31 - 1
4. Example
Input: n = 1234 -> Output: "1.234"
Input: n = 987 -> Output: "987"
5. Code
1) 첫 코드(2023/04/12)
String answer = "";
if(n>0){
Stack<Character> s = new Stack<>();
int count = 0;
while(n>0){
if(count<3){
s.push((char)(n%10 + '0'));
n /= 10;
count++;
} else{
s.push('.');
count = 0;
}
}
while(!s.empty())
answer += s.pop();
} else
answer = "0";
return answer;
2) 1000이상만 처리하는 코드(2023/04/12)
String answer = "";
if(n>=1000){
Stack<Character> s = new Stack<>();
int count = 0;
while(n>0){
if(count<3){
s.push((char)(n%10 + '0'));
n /= 10;
count++;
} else{
s.push('.');
count = 0;
}
}
while(!s.empty())
answer += s.pop();
} else
answer = n+"";
return answer;
- 1번 코드에 비해 메모리를 약간 덜 먹는다.
3) 3자리씩 처리한 코드(2023/04/12)
Stack<String> s = new Stack<>();
String num = String.valueOf(n);
while(num.length()>3){
s.push("."+num.substring(num.length()-3,num.length()));
num = num.substring(0,num.length()-3);
}
String answer = num;
while(!s.empty())
answer += s.pop();
return answer;
- 2번에 비해 메모리를 훨씬 덜 먹고, 코드도 짧아졌다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 1576. Replace All ?'s to Avoid Consecutive Repeating Characters (0) | 2023.04.13 |
---|---|
[LeetCode/Easy] 1560. Most Visited Sector in a Circular Track (0) | 2023.04.13 |
[LeetCode/Easy] 1518. Water Bottles (0) | 2023.04.12 |
[LeetCode/Easy] 1460. Make Two Arrays Equal by Reversing Subarrays (0) | 2023.04.12 |
[LeetCode/Easy] 1446. Consecutive Characters (0) | 2023.04.12 |