일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- LV1
- Alert Dialog
- 백준
- RETROFIT
- 임시저장하기
- Android
- bronze4
- Kotlin
- gradle설정
- silver4
- bronze3
- silver3
- LIS
- bottom-up
- recyclerView 클릭이벤트
- 다크모드제한
- toLong()
- bronze2
- map
- 프로그래머스
- dp
- fragment에서 context사용
- naver open api
- stack
- 뷰클래스
- Top-Down
- RecyclerView
- 테마변경
- 녹음기
- Silver5
- Today
- Total
목록전체 글 (73)
유니 코드
* 뒤로가기 버튼은 내가 만든 버튼, 안드로이드 뒤로가기 버튼 모두 해당한다 뒤로가기 누르면 이동할 액티비티 설정 1. manifest.xml ... android:parentActivityName 속성을 사용하여 뒤로 이동할 액티비티명을 지정해준다 위의 코드는 SignupActivity와 FindPasswordActivity에서 뒤로가기를 눌렀을 때 LoginActivity로 이동하도록 했다 2. Activity파일 각각 액티비티 파일에서 리스너를 설정해준다. 뒤로가기 버튼을 잘못 누르는 경우도 있으니 다이얼로그로 다시한번 확인 후 finish()를 해준다 binding.btnBack.setOnClickListener { val builder = AlertDialog.Builder(this) build..

안드로이드 프로젝트를 진행하다보면 민감한 정보가 소스코드에 포함되는 경우가 있다 예를 들어 메일을 보낼 때 필요한 메일계정정보를 소스 코드에 그대로 포함하면 보안상의 문제가 있다 API key값도 마찬가지이다. 만약 코드에 상수값으로 선언해두었다면 Github 등에 노출될 위험이 있기 때문에 .gitignore 파일을 통해 민감한 정보가 노출되지 않도록 보관해야 한다 이 글에서는 local.properties 파일을 사용해 정보를 안전하게 보관하는 방법을 설명하겠다 local.properties에 정보 추가 local.properties 파일은 기본적으로 .gitignore 파일에 추가되어 있어서 git을 통해 추적되지 않는다 local.properties 파일에 숨기고 싶은 정보를 추가해준다 ## Th..

새로 시작한 프로젝트가 대학교 학생들을 대상으로 서비스할 예정이기때문에 회원가입시 학교 메일을 인증하여 학생인증을 하려고 했다 학교 메일을 입력하고 인증버튼을 누르면 해당 주소로 인증번호를 포함한 메일이 발송되고 인증번호를 입력하면 학생인증이 완료되는 시나리오를 생각했다 자료조사를 하다보니 Gmail authentication의 JavaMail API를 사용하면 이메일을 보낼 수 있다는 걸 알게되었다 해당 API를 사용하기 위해서 환경설정을 먼저 해주어야 한다 https://code.google.com/archive/p/javamail-android/downloads 위의 링크에서 activation, additionnal, mail 3개의 jar 파일을 다운로드한다 다음과 같이 3개의 ..

저번주에 새로운 프로젝트를 하게되어서 포스팅을 하지 못했다 그래서 이번에 새로 시작하게 된 프로젝트에 대해서 간단히 설명하고 얼마나 진행이 되고 있는지에 관한 글을 작성하려고 한다. 시작하기에 앞서 먼저 깃허브 organization을 생성했다 https://github.com/Share-Taxi-Together 이름에서도 알 수 있듯이 이번에 하는 프로젝트는 같이 택시 탈 인원을 구하는 어플이다 대학교 학생들을 대상으로 기획하고 있고 상업용이 아닌 기획~배포 경험 및 협업툴 사용을 해보는 것이 목적이다 기획 순서는 다음과 같이 진행하려고 한다 1. 간단하게 기능 생각해보기 2. UI 설계 3. 아키텍처 설계(+ 시스템 수행 시나리오) 4. DB 설계 5. 프로젝트 기능 설계 6. 프로젝트 예상 일정 7..

백준 11052번 카드 구매하기 문제 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다. 민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서, 민규는 돈을 최대한 많이 지불해서..

백준 11727번 2xn 타일링2 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입출력 입력 : 첫째 줄에 n이 주어진다 (1 ≤ n ≤ 1,000) 출력 : 첫째 줄에 2xn 크기의 직사각형을 채우는 방법의 수를 10007로 나눈 나머지를 출력한다 입력 출력 2 3 8 171 12 2731 접근방법 이 문제도 2xn타일링 문제와 비슷하다 문제를 살짝 변형한 느낌,, 어제 풀었던 2xn타일링 문제는 직사각형을 1x2, 2x1 타일로 채우는 방법의 수를 구하는 문제였고 이 문제는 1x2, 2x1, 2x2 타일로 직사각형을 채우는 방법의 수를 구하는 문제이다 다른점이라면 2x2타일이 추가되었다는 ..

백준 1003번 피보나치 함수 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한..

백준 11726번 2xn 타일링 문제 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입출력 입력 : 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 : 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 입력 출력 2 2 9 55 접근방법 우리가 구해야하는 것은 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수이다. 일단 그림을 그려보았다. 그림을 그리다보니 규칙이 조금 보였다 2xn은 N - 1번째보다 한칸 늘어난 것이기 때문에 N - 1번째 경우의 수에 2x1 타일을 붙이는 방법(세로 타일 | 붙이기)과 N - ..
백준 2839번 설탕배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지를 구하는 프로그램을 작성하시오. 입출력 입력 : 첫째 줄에 N이 주어진다 (3 ≤ N ≤ 5000) 출력 : 상근이가 배달하는 봉지의 최..

다이나믹 프로그래밍(DP)에 대해서 정리를 해보려고 한다. DP는 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 코딩 테스트 빈출 유형 중 하나이다. DP란?! 간단한 여러 개의 문제로 전체 문제를 나누어 푸는 방법을 말한다. (작은 문제의 답을 구한 후 어딘가에 메모해 놓고, 그보다 큰 문제를 풀어나갈 때 똑같은 작은 문제를 구해야한다면 앞서 메모한 결과값을 이용한다.) 대표적인 예로는 피보나치 수 구하기이다. 50번째 피보나치 수를 구해야 한다고 가정하자. P(50) = P(49) + P(48)이기 때문에 50번째 피보나치 수를 구하는 대신에 49번째, 48번째 수를 구하는 것으로 대체할 수 있다. 이런 방식으로 작은 문제에 대한 답을 구하고 이를 통해 더 큰 문제의 답을 구하는..