본문 바로가기

전체 글94

[Cafe In] 기록 #4: 애뮬레이터에 테스트용 사진 넣기 Device File Explorer - sdcard - Pictures - 우클릭 후 upload 2022. 6. 27.
[Cafe In] 기록 #3: 자동 로그인 구현 사용자가 한 번 로그인을 하면 그 이후에 앱을 실행할 때는 바로 로그인 화면을 거치지 않고 메인 화면으로 넘어가게 해주고 싶었다. 그렇지만 무조건 사용자의 토큰값을 확인하는 액티비티를 거쳐서 다음 액티비티로 넘어가게 되어서 뒤로가기를 누르면 불필요한 액티비티를 마주했다. 이를 처음에는 finish() 함수를 사용할 생각을 못했어서, Splash화면을 따로 만들어서 그곳에서 토큰값에 따라 intent를 다르게 넘겨주려고 했다. 근데 그냥 startActivity()실행 후 이어서 코드에 finish()를 적어주면 해결됐다. 1. 토큰값 생성 및 받아오는 함수 private String getToken(){ spf = getSharedPreferences("Token", MODE_PRIVATE); Strin.. 2022. 6. 27.
[SSAFY 8기] 싸피 전공자 합격 후기 에세이 준비 1문항에 글자수가 많지 않아서 부담 없이 금방 쓸 수 있다. 문항 내용은 "자신의 sw경험을 토대로 지원 동기와 어떤 개발자로 성장하고 싶은지" 이다. 나의 노력과 열정을 잘 나타내기만 한다면 무난하게 다 붙여주는 것 같다. 적성 진단 준비 원래 전공자도 gsat같은 인적성 테스트를 봤었는데 이번에 처음 코딩테스트를 본다고 들었다. swea에서의 d1~d3정도의 난이도라고 어디선가 주워들어서 swea를 풀어보려고 했으나... 백준이 풀고 싶어서(걍 swea는 익숙하지 않아서) swea는 거의 안풀고 백준 풀이만 계속 진행했다. 그 전날에만 swea 하나 풀어봤는데 풀길 잘한 것 같다. 문제의 내용보다 swea의 환경이 시험 환경이랑 같아서 컴파일이나 문제 제출 등에서 당황하지 않고 진행할 수.. 2022. 6. 25.
[백준] 2110번 공유기 설치 자바 문제 (이분 탐색) 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 문제 풀이 이분 탐색 알고리즘이다. 이분 탐색 문제를 몇 개 풀면서 느낀 건데 약간 정답의 범위가 정수의 형태로 적당히(?) 정해지는 경우 사용하는 것 같다. 그리고 이분 탐색을 사용할 때, 이분 탐색을 코드를 작성하는 것보다 해당 값에 대해 성립하는지 확인하는 코드짜기가 더 어렵다. 이번 공유기 설치 문제도 이분 탐색으로 정답을 추려가면서 이 정답에 성립하는지를 처리하는 로직이 까다로웠다... 2022. 6. 22.
[백준] 2805번 나무 자르기 자바 문제 (이진 탐색) 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 문제 풀이 이진 탐색 알고리즘은 알고 있었지만 이 문제를 통해 이와 비슷한 새로운 알고리즘을 알게되었다. ✔️이진 탐색 : 데이터가 정렬되어 있는 배열에서 특정값을 찾아내는 알고리즘 1) 중간에 있는 임의의 값을 선택하여 찾고자 하는 수 X와 비교한다 1-1) X가 임의값보다 작으면, 임의값 기준 왼쪽 데이터들을 대상으로 다시 탐색 1-2) X가 임의값보다 크면, 임의값 기준 오른쪽 데이터들을 대상으로 .. 2022. 6. 19.
[백준] 1202번 보석 도둑 자바 문제 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 문제 풀이 처음에는 보석을 기준으로 ArrayList와 PriorityQueue를 이용해서 가장 비싼 것부터 제거해나갔는데 시간초과였다. 구글링을 해보니 보석을 기준으로 하는게 아니라 가방을 기준으로 해야 했고, 또 우선순위큐 하나로 구현이 가능했다. ✔️알고리즘 1. 보석을 무게가 가벼운 순으로 정렬을 한다 (오름차순) 2. 가방을 가벼운 순으로 정렬을 한다 (오름차순) 3. 모든 가방에 대하여.. 2022. 6. 17.