코드스테이츠 Day32
< DB설계, 스키마 디자인 >
< 기타 >
< 오늘 해 본 스키마 과제 >
< 느낀 점 >
이번 과제도 약간 맨땅에 던져진 기분으로 시작.. ㅋㅋㅋ
처음에 아예 감을 못 잡았다가, 사이트에 있는 예시 보고 참고해서 조금씩 만들어보자,, 하고 테이블부터 만들었다. 그러고 나서 관계도 하나 하나씩 이어봄,,
여전히 저렇게 하는 게 맞는지는 모르겠는 상태지만.. ㅋㅋ
다른 동기들이 만들어서 올린 걸 보니 형태는 비슷하길래, 아주 방향이 틀리지는 않았다고 생각한다. DB 설계 어렵네,,
오늘 아침 데일리 코딩은 문제가 갑자기 어려워져서 못 풀었음⭐️
밑엔 나의 작살난 코드,, 너무 작살나서 테스트도 안 돌아감 ㅋㅋㅋㅋ
다음주에 다시 해봐야겠다. 그런데 아예 접근 방법이 잘 안 보여서 레퍼런스 봐야할지도..ㅎ
public class Solution {
public String compressString(String str) {
// 빈 문자열 거르기
if(str.length()==0) return str;
// 3개 이상 문자가 연달아 반복되면, [반복횟수 + 문자] 로 압축.
String result = "";
ArrayList<String> list = new ArrayList<>();
// 문자가 바뀌는 시점마다 다 쪼개서 리스트에 넣을까..? <www, gg, o, pp, o, pppp> 이런 식으로..
for(int i=0; i<str.length(); i++){
for(int j=0; j<str.length(); j++){
if(str.charAt(i)!=str.charAt(j)){
list.add(str.substring(str.charAt(i), str.charAt(j)));
i=j;
break;
}
}
}
// 리스트 요소의 길이가 3이상이면 길이 + 문자로 값 치환?
for(int i=0; i<list.size(); i++){
if((list.get(i)).length() >= 3) list.set(i, (list.get(i)).length()+(list.get(i)).charAt(0));
}
result = list.toString();
return result;
}
}