코딩 문제

손코딩을 할때 지우고 다시 쓰고 지우고 쓰는 바람에...대단한 실수을 했다...

이를 통해 배운것은...손코딩시..글씨는 작게.. 여백은 많게 해서 지워야 되는 상황을 막아야 겠다.

하지만 이것도 운명겠지 하고 넘어가자



... 어찌되었던..기억을 더듬어서 그때 미처 완성하지 못한 코드를 작성해 본다..

아래 코드는 =_=; 실행이 안될수도 있음...메모장 코딩이기 때문에.. =0=;


//피보나치 수열의 인덱스의 값 구하기
function int fibo(idx) {
   //피보나치 배열는 전전 값 + 전 값의 나열이기 때문에 idx 0과 1는 바로 리턴한다.
   if(idx == 0) return idx;
   if(idx == 1) return idx;

   return fibo(idx - 1) + fibo(idx - 2);
}

//연속 반복 문자 개수 구하기 =_=;;이것만 풀었음..ㅠㅠ
//A = "aaBBcDDD" --> 3이 나오는 함수.....
function int dupCounf(String str) {
    int ret = 0;
    Char[] chars = str.toCharArray();
    Char bchar = null;
    boolean flag = false;
    for(int = 0; i<chars.length; i++) {
        if(chars[i] == bchar) {
            if(flag == false) {
                ret++;
                flag = true;
            }          
        } else {
            flag = false;
            bchar = char[i];
        }
    }
    return ret;
}

//특정 문자열 대소문자 구별 않고 제거 함수 (풀다 종료 ㅠㅠ)
function String removeStr(String base, String rm) {
    StringBuffer ret = new StringBuffer();
    Char[] cbase = base.toUpperCase.toCharArray();
    Char[] crm = rm.toUpperCase.toCharArray();
    boolean matched = false;
    for(int i=0; i<cbase.length; i++) {
        if(cbase[i] == crm[0]) {
             matched = true;
             int j = 0;
             for(j=0; j<crm.length; j++) {
                 if(i+j < cbase.length) {
                     if(cbase[i+j] != rm[j]) {
                         matched = false;
                         break;
                     }
                 } else {
                     matched = false;
                     break;
                 }
             }
             if(matched == true) {
                 i += j;
             } else {
                 ret.append(base.subString(i, j));
             }
        }
        else {
             ret.append(base.CharAt(i));
        }
    }
    return ret.toString();
}

댓글

댓글 쓰기

이 블로그의 인기 게시물

Spring Batch - JobParameters Default Value 만들기

Hsqldb Server 재기동 시 오류