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
- Stack
- implement
- 구현
- 코테
- 파이썬
- Tree
- SQL
- hash table
- two pointers
- dynamic programming
- simulation
- Binary Search
- database
- Math
- 코딩테스트
- bit manipulation
- Data Structure
- 자바
- array
- string
- Counting
- Matrix
- Binary Tree
- java
- greedy
- sorting
- Class
- Method
- geometry
- Number Theory
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 2000. Reverse Prefix of Word 본문
1. Input
1) 문자열 word
2) 문자 ch
2. Output
1) word에서 ch가 처음 나타나는 위치를 찾은 후, 0부터 해당 위치까지의 문자열을 뒤집은 후 나머지 문자열을 그대로 뒤에 붙인 문자열을 반환
- word에 ch가 없다면 아무 일도 일어나지 않는다.
3. Constraint
1) 1 <= word.length <= 250
2) word는 영어 소문자로만 이루어져 있다.
3) ch에는 영어 소문자 1개가 들어 있다.
4. Example
Input: word = "abcdefd", ch = 'd' -> Output: "dcbaefd“
설명: d가 처음 나타나는 위치는 3이므로, 0부터 3까지의 문자열 abcd를 뒤집어 dcba로 만들고 나머지 efd를 뒤에 붙여 dcbaefd를 반환한다.
5. Code
1) 첫 코드(2022/06/14)
int index = -1;
for(int i=0 ; i<word.length() ; i++)
if(word.charAt(i) == ch){
index = i; break;
}
if(index == -1) return word;
char[] pre = word.substring(0,index+1).toCharArray();
String rest = word.substring(index+1,word.length());
char c;
for(int i=0 ; i<pre.length/2 ; i++){
c = pre[i];
pre[i] = pre[pre.length-1-i];
pre[pre.length-1-i] = c;
}
return new String(pre) + rest;
2) 다시 풀어본 코드(2023/01/09)
int index = -1;
String answer = "";
for(int i=0 ; i<word.length() ; i++)
if(word.charAt(i) == ch){
index = i; break;
}
if(index == -1) answer = word;
else{
char[] w = word.toCharArray();
for(int i=0 ; i<=index/2 ; i++){
char c = w[i];
w[i] = w[index-i];
w[index-i] = c;
}
answer = new String(w);
}
return answer;
- 1번보다 훨씬 좋은 코드가 됐다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 2011. Final Value of Variable After Performing Operations (0) | 2023.01.11 |
---|---|
[LeetCode/Easy] 2006. Count Number of Pairs With Absolute Difference K (0) | 2023.01.11 |
[LeetCode/Easy] 1995. Count Special Quadruplets (0) | 2023.01.09 |
[LeetCode/Easy] 1991. Find the Middle Index in Array (0) | 2023.01.09 |
[LeetCode/Easy] 1979. Find Greatest Common Divisor of Array (0) | 2023.01.09 |