전체 글

전체 글

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Room DB를 사용해서 로컬 DB 저장해 보기. (부제 : 메모 저장 앱 만들기) (+@, TypeConverter 사용)

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Room DB를 사용해서 로컬 DB 저장해 보기. (부제 : 메모 저장 앱 만들기) (+@, TypeConverter 사용)

    Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android 개발자 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com Room | Android 개발자 | Android Developers Room Room 지속성 라이브러리는 SQLite에 추상화 레이어를 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 합니다. 최근 업데이트 현재 안정화 버전 다음 버전 후보 developer.android.com Room은 SQLite를 활용하는 데이터 베이스이다. 위 링크에서는 다음과 같이 설명하고 있다. 상당한 양의 구조화된 데이터를 처리하는 앱은 데이터를 로컬로 유지하여 대..

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Retrofit2 / Okhttp3 사용해서 Solved.ac API 호출해보기. (백준 정보 가져오기) (+@ Glide를 View Binding에서 사용해보기)

    [Kotlin] 안드로이드 AAC ViewModel을 MVVM패턴을 적용해서 Retrofit2 / Okhttp3 사용해서 Solved.ac API 호출해보기. (백준 정보 가져오기) (+@ Glide를 View Binding에서 사용해보기)

    @solvedac/unofficial-documentation 이 프로젝트는 solved.ac API를 문서화하는 커뮤니티 프로젝트입니다. 이 저장소는 원작자의 요청에 따라 언제든 지워질 수 있으며, 현재 API와 일치하지 않을 수도 있는 점 양해 부탁드립니다. solvedac.github.io 이번에 사용해 볼 API는 위에 기록되어 있다. solved.ac에서 사용하는 API이며, user에 있는 사용자 정보 가져오기 API를 호출해 볼 것이다. 2021년 11월 25일 기준으로 작동하는 API이며, 원작자의 요청에 따라 언제든 지워질 수 있고, 수정될 수 있다. 사용자 정보와 이미지를 불러와서 띄워볼 것이다. 위와같은 정보들이 불러와진다. AAC ViewModel이란? MVVM에서의 ViewMode..

    [C++] 백준 20057번 마법사 상어와 토네이도

    [C++] 백준 20057번 마법사 상어와 토네이도

    20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 에 수록된 문제. 구현 / 시뮬레이션 문제로, 문제에서 요구하는 대로 풀면 된다. 문제풀이 나는 다음과 같은 로직, 순서를 구현해서 풀었다. 0 = 좌, 1 = 하, 2 = 우, 3 = 상 이라는 방향을 잡았다. 이동하는 횟수는 (좌, 하) 1번씩, (우, 상) 2번씩, (좌, 하) 3번씩 ...의 규칙으로 반복된다. 각 방향이 이동할 때, (r, c)에 얼마를 계산해야 하는지, 그리고 계산한 좌표..

    [C++] 프로그래머스 2020 KAKAO BLIND RECRUITMENT Level 1 키패드 누르기

    [C++] 프로그래머스 2020 KAKAO BLIND RECRUITMENT Level 1 키패드 누르기

    코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 구현 문제. Level 1 문제는 보고 바로 이해하고 풀 수 있는 게 중요한 것 같다. 실제 코딩테스트에서는 시간 압박이 더 심하므로 빠르게 이해하고 빠르게 푸는 게 중요한 것 같다. 물론 무조건 빠르게 푸는 것 보단 한 번에 확실하게 푸는 게 중요하다. 문제풀이 문제에 나온 그대로 구현해주기만 하면 된다. 나같은 경우는 키 패드들을 좌표로 만들어놓고 ..

    [C++] 프로그래머스 2021 KAKAO BLIND RECRUITMENT Level 1 신규 아이디 추천

    [C++] 프로그래머스 2021 KAKAO BLIND RECRUITMENT Level 1 신규 아이디 추천

    코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문자열 / 구현 문제. Level 1은 크게 어려운 문제는 아니라고 생각했다. 막상 코딩 테스트에서 만나면 시간을 많이 잡아먹을 것 같다. 문제풀이 문제에 나온 그대로, 다음과 같은 순서로 구현해주면 된다. 아이디의 길이 : 3 ~ 15 소문자, 숫자, -, _, . 사용 가능. 마침표(.)는 처음과 끝에 사용 불가 마침표는 연속 사용 불가 단계를 통해서 규칙에 맞는 새로운 아이디 추천 1. 모든 대문자를 소문자로 치환. 2. 소문자, 숫자, -, _, ..

    [C++] 백준 2096번 내려가기

    [C++] 백준 2096번 내려가기

    다이나믹 프로그래밍 문제. 메모리 제한이 상당히 제약적인데, 이 부분을 잘 이해했으면 쉽게 풀 수 있는 문제다. 처음에 배열을 10만 x 3개씩 만들어서 풀어보려 했는데, 메모리 초과가 났다. 결국 게시판을 참고해서 풀 수 있었다. 문제풀이 문제에 표현된 그대로, N번째 줄마다 1, 2, 3번째에 도달했을 때 최대, 최소값을 기록해두면 된다. 첫번째 칸에 도달한 경우에는 이전에 1, 2번째 칸인 경우이다. 두번째 칸에 도달한 경우에는 이전에 1, 2, 3번째 칸인 경우이다. 세번째 칸에 도달한 경우에는 이전에 2, 3번째 칸인 경우이다. 이 문제의 핵심은 이전에 지나온 칸, 앞으로 지나올 칸의 수는 저장할 필요가 없다는 것이다. 따라서 입력을 받을 때마다 i번째 칸에서의 최대, 최소값을 기록해두면 된다...

    [C++] 백준 2638번 치즈

    [C++] 백준 2638번 치즈

    2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 구현 / 시뮬레이션 / 그래프 탐색 문제. 문제에서 구현하라는 대로 구현해서 풀면된다. 제출하고 시간이 44ms가 나왔는데, 다른 사람들은 보통 12 ~ 20ms가 나온 것 같았다. 유의미한 차이는 아니라서 일단은 그냥 넘어갔다. 문제풀이 문제의 조건들은 다음과 같다. 격자의 가장자리들에는 치즈가 존재하지 않는다. 한 시간마다 외부공기와 동, 서, 남, 북 중 두 방향 이상 외부공기와 접한 치즈는 녹는다. 치즈로 둘러쌓인 공간은 외부 공간으로 치지 ..

    [Kotlin] 안드로이드 웹 뷰 사용해보기 (+@ 다이얼로그로 웹 뷰 띄워보기, 프래그먼트로 웹 뷰 띄워보기)

    [Kotlin] 안드로이드 웹 뷰 사용해보기 (+@ 다이얼로그로 웹 뷰 띄워보기, 프래그먼트로 웹 뷰 띄워보기)

    WebView | Android Developers developer.android.com WebView에서 웹 앱 빌드 | Android 개발자 | Android Developers WebView에서 웹 앱 빌드 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경우 WebView를 사용하면 됩니다. WebView 클래스는 Android의 View 클래스의 확장으로, 웹페이 developer.android.com 웹 뷰는 앱에서 웹 페이지 화면을 띄우는 기능이다. 오늘은 웹 뷰 기능을 이용해서 EditText에 URL을 입력하고 인터넷 화면을 세 가지 방법으로 띄워볼 것이다. 레이아웃 파일에 메인 액티비티, 메인 프래그먼트 파일이 하나씩 있다. activity_main.xml ..

    [C++] 백준 23288번 주사위 굴리기 2

    [C++] 백준 23288번 주사위 굴리기 2

    23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net 삼성 SW 역량 테스트 기출 문제 수록 문제. 구현 / 시뮬레이션 문제이다. 이해하기 어려웠고, 시간을 잡아먹었던(자꾸 8번째 테스트 케이스가 이상하게 나와서 고쳤다.) 것들이 있었다. 조건들을 정리해가면서 문제 풀이를 정리해 보겠다. 문제풀이 문제의 조건들을 정리해보면, 다음과 같은 순서로 구현하면 된다. 높이, 너비, 주사위 이동횟수를 입력받는다. 격자의 각 칸의 숫자를 입력받는다. 여기까지가 기본 입력이다. 그 후에 이동횟수만큼 아래를 반복..

    [Kotlin] 안드로이드 인스타그램 스토리 공유하기 기능 사용해보기. (예제 프로젝트)

    [Kotlin] 안드로이드 인스타그램 스토리 공유하기 기능 사용해보기. (예제 프로젝트)

    스토리에 공유하기 - Instagram 플랫폼 - 문서 - Facebook for Developers 개요 Android 암시적 인텐트 및 iOS 맞춤 URL 스키마를 사용하면 앱에서 사진, 동영상과 스티커를 Instagram 앱으로 보낼 수 있습니다. Instagram 앱이 해당 콘텐츠를 받아서 스토리 작성기에 읽어들이면 developers.facebook.com 가끔 화면에서 특정 화면을 인스타그램 스토리에 공유하는 기능을 본 적이 있을 것이다. 예를 들자면, 멜론에서 음악을 듣는 화면을 공유하는 것이 그 예시이다. 오늘은 이 기능을 구현한 예제 프로젝트를 정리해볼 것이다. 위 링크를 가면 Android 개발자를 위해 설명해 놓은 글들이 있다. 암시적 인텐트를 사용 배경 레이어, 스티커 레이어 존재...