본문 바로가기

분류 전체보기96

[백준] 1725번 히스토그램 자바 문제 (스택) 1725번: 히스토그램 첫 행에는 N (1 ≤ N ≤ 100,000) 이 주어진다. N은 히스토그램의 가로 칸의 수이다. 다음 N 행에 걸쳐 각 칸의 높이가 왼쪽에서부터 차례대로 주어진다. 각 칸의 높이는 1,000,000,000보다 작거나 같은 www.acmicpc.net 문제 풀이 문제 풀이에 대한 논리가 많이 어려웠다. 세그먼트 트리를 이용해서도 많이 푸는 방식인 것 같은데 나는 세그먼트 트리에 대해서 잘 몰라서 만만한(?) 스택으로 풀기로 했다. 다른 블로그 글들에 그림 포함해서 설명이 잘 나와있어서 알고리즘은 내가 보기 편한대로 다시 정리해보자면, 우선 히스토그램 순서대로 반복문을 실행하면서 높이가 증가하다가 감소하는 부분을 유의해야 한다. 왜냐하면 높이가 감소하는 순간 바로 그 .. 2022. 6. 29.
[안드로이드/Kotlin] Retrofit2 + okhttp 개념 서버 통신 라이브러리 OkHttp - REST API, Http통신을 간편하게 구현할 수 있도록 다양한 기능을 제공해주는 Java 오픈소스 라이브러리 - Retrofit 라이브러리의 베이스 Retrofit2 - Rest API 통신을 위한 라이브러리 - AsyncTask가 없이 Background스레드를 실행 -> CallBack을 통하여 Main Thread에서 UI를 업데이트 - OkHttp를 기반으로 더 안전하고 직관적으로 사용할 수 있게 만들어진 라이브러리 - Annotation사용으로 코드의 가독성이 좋고, 직관적인 설계 가능 - 통신 결과값을 JSON으로 변환해 줄 필요없이 바로 객체 대입 가능 - 결과값을 메인 스레드에서 바로 사용 가능 ✔️ okhttp의 경우 네트워크 Intercepter.. 2022. 6. 27.
[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.