2023.05.04.THU

ronglong·2023년 5월 4일
0

[ 프로그래머스 ]

  • 피보나치 수
    : 정답률 72%. int 범위 오버플로우 때문에 long이나 double로 자료형 바꿔도 계속 통과 못 하다가, 힌트 보고 나머지 값을 DP 테이블에 담아서 통과함.
class Solution {
    public int solution(int n) {
        double[] table = new double[n+1];
        table[1] = 1;

        for(int i=2; i<=n; i++){
            table[i] = (table[i-1] + table[i-2]) % 1234567;
        }

        return (int) table[n];
    }
}

[ 코플릿 다시 풀기 ]

  • 유클리드 호제법 구현 방법이 기억 안 나서 못 쓰고, 그냥 생각해서 풀었다.
    풀긴했는데 시간복잡도가 구림.
import java.util.*;

public class Solution { 
	public ArrayList<Integer[]> divideChocolateStick(int M, int N) {
    //정답 리스트 만들기
    ArrayList<Integer[]> answer = new ArrayList<Integer[]>();

    //직원 수가 M, N 모두의 약수이면 나눠줄 수 있다. M,N 중에 작은 수까지 반복
    for(int i=1; i<=Math.min(M,N); i++){
      if(M%i==0 && N%i==0){
        answer.add(new Integer[]{i, M/i, N/i});
      }
    }

    return answer;
	} 
}

[ photoday 프로젝트 ]

  • Data read has a different length than the expected 에러
    : S3.putObject(MyObject);를 실행할 때, ObjectMetadata의 내용이 실제 넣으려는 파일과 일치하지 않을 때 발생하는 에러.
    ObjectMetadata를 확인해보니 다른 파일의 값을 가져오고 있었음. 올바른 값으로 수정 완료.
    Data read has a different length than the expected: dataLength=31365; expectedLength=343318; includeSkipped=false; in.getClass()=class com.amazonaws.internal.ReleasableInputStream; markedSupported=true; marked=0; resetSinceLastMarked=false; markCount=1; resetCount=0
    https://stackoverflow.com/questions/27798825/amazonclientexception-data-read-has-a-different-length-than-the-expected

이미지 리사이징에 성공한 화면 스크린샷😉

이미지 리사이징을 위한 라이브러리는 Marvin을 사용하였음.
아래는 참고한 사이트들.

imgScalr가 리사이징 속도가 더 빠르다고 해서, 시간될 때 Marvin 대신 imgScalr로도 구현해보면 좋을 것 같다. 큰 차이는 없을 것 같지만,,

[ API 특강 ]

  • 1:N에서 N이 외래키를 가짐으로써 관계의 주인이 되는 이유(why FK in N?)
    : for 정규화. 엔티티 중복 방지.
  • 하이버네이트 : JPA의 구현체
    https://songacoding.tistory.com/55

[ 느낀 점 ]

오랜만에 프로젝트 작업했다.
코딩테스트보다는 작업하는 게 아직까지는 더 좋은 것 같기도..
코테 넘 어려웡.
하지만 코테 산을 넘어야 면접을 가든지 말든지 하지..

0개의 댓글