728x90
https://leetcode.com/problems/count-and-say/
Count and Say - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문제 이해하기 힘들어따....
이건 dp..? 재귀..?
아무튼 재귀로 풀었다
이전 값을 이용해서 앞으로의 값을 구해나가는 방식!
이렇게 얘기하니까 dp같다 dp인듯!!
자바 코드)
class Solution {
public String countAndSay(int n) {
if(n==1) {
return "1";
}
String s = countAndSay(n-1);
StringBuilder sb = new StringBuilder();
int i=0; //인덱스
while(i < s.length()) {
int k = 1; //같은 문자열의 갯수
while(i+1 < s.length() && s.charAt(i) == s.charAt(i+1)) {
i++;
k++;
}
sb.append(String.format("%d%c", k, s.charAt(i)));
i++;
}
return sb.toString();
}
}
n=1 이면 1 return
그리고 그 뒤부터 지금 있는 문자열을 읽으면서 같은 문자가 몇개인지 세고, 그 개수를 붙여주면 된다
(연속된 문자의 갯수) + (연속된 문자)
이렇게 보니까 별거 없지..만 이건 참고해서 풀었지..^^
안녕..
728x90
'코딩테스트' 카테고리의 다른 글
[리트코드] 79. Word Search - JAVA (0) | 2022.07.11 |
---|---|
[리트코드] 162. Find Peak Element (0) | 2022.06.20 |
[리트코드] 1222번 - JAVA (0) | 2022.05.31 |
[리트코드] Set Matrix Zeroes - JAVA (0) | 2022.05.26 |
[JAVA] 문자열 배열 길이별로 정렬 (0) | 2022.03.30 |
댓글