전체 글(756)
-
[Java] static 변수 사용시 주의사항
static 변수를 만들고 메서드에서 같은 이름의 지역 변수를 만들고 초기화하면 static 변수는 여전히 초기화되지 않는다. 예를 들어, 아래와 같이 설정을 해놓았다. public class SubSet { static int N, target; static int[] subSet; static int[] set; static boolean isSelected[]; public static void main(String[] args) { set = new int[] {1, 2, 3}; int N = set.length; subSet = new int[N]; isSelected = new boolean[N]; generateSubSet(0); } 그리고 아래의 함수를 사용하면 원하는 결과가 나오지 않는다..
2024.02.01 -
[기술 블로그] 인스타그램이 기본 비디오 계산을 94% 줄인 방법
문제 당시 인스타에서 가장 많이 쓰이고 있었던 인코딩은 Minimum Functionality Encoding(이하 MFM)으로 오래된 장치에서도 돌아간다는 특징이 있다. 메타에서는 새로운 인코딩인 Advanced Encoding을 만들었는데 이걸 사용하면 조금 더 깔끔하고 네트워크가 느린 지역에서도 볼 수 있다는 특징이 있다. 메타는 이 새로운 인코딩을 더 늘리고 싶지만 컴퓨팅을 위해 사용되는 자원의 80% 이상이 MFM을 만드는데 사용되고 있었다. 이 상황에서 자원을 늘리지 않고 이 문제를 해결하고 싶었고 그 방법으로 MFM을 최적화하는데 초점을 두었다. 메타가 사용한 방법을 이해하려면 먼저 MFM에는 두 가지 종류가 있다는 점을 알아야 한다. 하나는 ABR(Adaptive Bit Rate Strea..
2024.02.01 -
[Java] this와 super의 차이에 대한 나름의 이해
this는 객체를 뜻하는 것으로 upcasting된 객체일 수도 있고 이게 쓰인 클래스의 객체일 수도 있다. super는 부모를 뜻한다. 엄밀히 말하면 조상이다.
2024.02.01 -
[그 외] Java에서 백준 제출은 Main 클래스여야만 한다. 2024.01.31
-
[그 외] 백준에서 0%에서 runtime error 날 때
패키지를 넣었지는 않았는지 확인
2024.01.31 -
[알고리즘][X] LCS 2
https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 틀린 풀이 - lcs의 원리를 잘못 알고 있었다. private static int findLCSLength(char[] sequence1, char[] sequence2, int N, int M, int[][] dp) { for (int i = 1; i 0 && y>0) { if (x == 0 || y == 0) { break; } if (dp[x..
2024.01.31