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
- leetcode
- 프로그래머스
- 리트코드
- 백준
- 백준 16935
- leetcode 1721
- 스택
- dfs
- 자바
- 분할정복
- 자바 5464
- daily challenge
- DP
- 구현
- 코테
- 인텔리제이 에러
- 리트코드 자바
- java leetcode
- BFS
- Java
- 자바 리트코드
- 리트코드 1557
- 프로그래머스 java
- 카카오
- 스프링 에러
- 코딩테스트
- 그래프 자바
- 백준 18222
- java 프로그래머스
- 파이썬
Archives
- Today
- Total
레벨업 일지
[Java] leetcode 2390. Removing Stars From a String 본문
문제
https://leetcode.com/problems/removing-stars-from-a-string/description/
알아야 할 개념
- String.valueOf 메소드
풀이
풀이는 다음과 같다.
- 문자열 s의 문자를 선형탐색하면서 * 기호가 아니면 문자를 추가하고 index +=1 을 수행한다.
- * 기호이면 index -=1 을 수행한다.
- [0 .. index) 의 문자를 리턴한다.
String.valueOf(char[] data, int offset, int count) 메소드를 사용하면 추가 메모리 할당하지 않는다.
처음에 문자열을 추가 생성하는 코드로 제출했더니 너무 오래 걸려서 잘못 짠 줄 알았다. 자바에서는 문자열 연산할때 StringBuilder 를 사용하거나 String.valueOf 를 사용하면 좋은 성능을 기대할수 있따.
처음에 생각한 코드 중 일부
String a = "";
for(int i =0 ;i < index;i ++){
a += arr[i];
}
코드
자바
class Solution {
public String removeStars(String s) {
char[] arr = s.toCharArray();
int index = 0;
if(arr.length ==1 )return s;
for(int i = 0 ;i < arr.length ;i++){
if(s.charAt(i) == '*')index --;
else arr[index++] = s.charAt(i);
}
return String.valueOf(arr, 0, index);
}
}
StringBuilder 사용
class Solution {
public String removeStars(String s) {
char[] arr = s.toCharArray();
int index = 0;
if (arr.length == 1) return s;
for (int i = 0; i < arr.length; i++) {
if (s.charAt(i) == '*') index--;
else arr[index++] = s.charAt(i);
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < index; i++) {
sb.append(arr[i]);
}
return sb.toString();
}
}
'알고리즘 > leetcode' 카테고리의 다른 글
leetcode 946. Validate Stack Sequences (0) | 2023.04.13 |
---|---|
leetcode 508. Most Frequent Subtree Sum (0) | 2023.04.12 |
[Java] leetcode 72. Edit Distance (2) | 2023.04.11 |
[Java] leetcode 15. 3Sum (0) | 2023.03.30 |
[Java] leetcode 2316. Count Unreachable Pairs of Nodes in an Undirected Graph (0) | 2023.03.25 |
Comments