전체 글

Never stop acting like the new one on the team
Algorithm

피보나치 메모이제이션 적용하기

메모이제이션은 중복된 값이 다수 존재하는 경우 값을 저장해두고, 재활용 한다

Algorithm

팩토리얼 꼬리 재귀로 풀기

핵심 : 값 자체를 파라미터로 넘겨서 계산되지 않는 변수 남기지 않기 꼬리재귀는 결과적으로 다른 변수와의 계산 없이 자기자신을 호출하게 모습을 보이게 된다

Algorithm

금액 경우의 수 계산하기

e.g) 1, 2, 5, 10, 20 ,50 만원으로 100만원을 계산하는 방법은 몇가지인가? // 재귀 public class Main { public static void main(String[] args) { System.out.println(solution(new int[]{1, 2, 5, 10, 20, 50}, 100)); } static int solution(int[] bills, int money) { return numOfPayAmount(money, bills, bills.length); } private static int numOfPayAmount(int money, int[] bills, int category) { int answer = 0; if (category == 1) {..

Algorithm

알고리즘 이항계수 풀기

이항계수란 n개의 원소에서 r개의 원소를 뽑아내는 방법의 수

Algorithm

2020 카카오 코딩 테스트

1번 문항 데이터 처리 전문가가 되고 싶은 “어피치”는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 “aabbaccc”의 경우 “2a2ba3c”(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, “abcabcdede”와 같은 문자열은 전혀 압축되지 않습니다. “어피치”는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘..

Kotlin & Java

무공변성 공변성 반공변성

TL; DR무공변성(invariant) - 자기 자신 타입만 허용공변성(covariant) - out 키워드를 사용하며 자기 자신과 하위 타입만 허용반공변성(contravariant) - in 키워드를 사용하며, 자기 자신과 상위 타입만 허용 무공변성(Invariant)상속 관계에 상관 없이, 자기 타입만 허용합니다공변성(Covariant)리스코프 치환법칙을 허용한다는 의미로 자기 타입과 그 하위 타입을 허용합니다(S 클래스가 T 클래스의 자식이라면 프로그램에서 S 의 객체는 프로그램의 속성을 변경하지 않고, T 의 객체로 교체할 수 있다) 최소한 자식클래스가 부모클래스의 행위를 모두 만족해야한다는 의미이고 즉 업캐스팅만 해라! 의미이다11번째 코드라인에 out 키워드가 사용되었습니다 반공변성(Contr..

Android

안드로이드 Q (API 29) 관련 파일 저장 퍼미션 문제

개인 앱에서 사진 저장 관련 문제가 생겼다. 이슈를 알아보니 안드로이드 Q 에서 오면서 퍼미션 정책이 조금 바뀌었다. 공식 홈페이지 https://developer.android.com/training/data-storage/files/external-scoped Manage scoped external storage access | Android 개발자 To give users more control over their files and to limit file clutter, apps targeting Android 10 (API level 29) and higher are given scoped access into an external storage device, or scoped storage,..

Android/Interview Question

안드로이드 면접 질문 8

1. MVC, MVP, MVVM 이 다른점은 무엇이고, 이런 패턴을 왜 사용하는 것인가요? 2. 소프트웨어 관점에서 SOLID 에 대해 말해주세요. 3. RxJava 란 무엇인가요 ?

Android/Interview Question

안드로이드 면접 질문 7

1. ANR 이 무엇이고 언제 일어나며, 어떻게 예방할 수 있나요? 2. SharedPreferences 에서 commit() 과 apply() 의 다른점에 대해 말해주세요. 3. RecyclerView 를 어떻게 사용하나요? 4. RecyclerView 와 ListView 는 무엇이 다른가요 ? 5. 안드로이드에 Swipe 애니메이션 코드를 작성해보세요. 6. ArrayMap, SparsArray , HashMap 의 차이점들을 말해주세요. 7. 안드로이드에서 메모리 누수를 줄일 수 있는 방법에 대해 말해주세요. 8. 안드로이드 APK 파일의 크기를 줄일 수 있는 방법들을 말해주세요. 9. 안드로이드 어플리케이션의 빌드 시간을 줄일 수 있는 방법들을 말해주세요. 10. AAC 에 대해 생각 나는 컴포넌..

Nanamare
TEAM > SELF