본문 바로가기

전체 글130

[Android, 내일배움캠프] 공부일지(2024-05-16) 오늘 공부한 내용 정리(2024년 5월 16일)  1. 코드카타 문제풀이A. 나머지가 1이 되는 수 찾기문제 내용 문제 풀이 방법n번 반복해서 n을 x로 나눈 나머지가 1인 가장 작은 수를 구한다. 해결 코드(스포 주의)더보기fun solution(n: Int): Int { var answer: Int = 0 for (i in 1..n) { if (n % i == 1) { answer = i break } } return answer} 풀이 과정1부터 n까지 반복하도록 for문 설정1부터 돌면서 첫 번째로 n % i의 결과가 1인 수를 찾아서 break후 해당 값 return. B. 내적문제 내용 문제 풀이 방법내적은 .. 2024. 5. 16.
[Android, 내일배움캠프] 공부일지(2024-05-15) 오늘 공부한 내용 정리(2024년 5월 15일)  1. 코드카타 문제풀이A. 콜라 문제문제 내용  문제 풀이 방법빈 병 a개를 가져다주면 콜라 b병을 받을 수 있다.빈 병 n개가 주어졌을 때, 받을 수 있는 콜라의 개수를 구한다.20병이 주어지고 빈 병 2개에 콜라 1병일 때, 콜라 10병을 받고 다 마시면 빈 병 10개가 된다.이 방법으로 계속 반복해서 총 받은 콜라의 개수를 구하는 문제이다. 해결 코드(스포 주의)더보기// 빈 병 a개를 가져다주면 콜라 b개를 준다.// 빈 병 n개를 주었을 때, 받을 수 있는 콜라의 개수.// 반복fun solution(a: Int, b: Int, n: Int): Int { var answer: Int = 0 var emptyBottle = n wh.. 2024. 5. 15.
[Android, 내일배움캠프] 공부일지(2024-05-14) 오늘 공부한 내용 정리(2024년 5월 14일)  1. 코드카타 문제풀이A. 푸드 파이트 대회문제 내용 문제 풀이 방법2명이 동일한 양의 음식을 먹어야 함(food에 7이 있을 때, 2명이 3개씩 먹을 수 있음).먹어야 하는 횟수만큼 string으로 합쳐서 return(한 명은 순차적으로 먹고 다른 한 명은 역순으로 먹어야 하기 때문).return: 순차적인 음식 배치 + 0 + 역순 음식 배치 해결 코드(스포 주의)더보기// 2명이 동일한 양의 음식을 먹어야 함(7이면 2명이 3개씩 먹고 1개는 버려짐).// 먹어야 하는 횟수만큼 string으로 return하면 됨.fun solution(food: IntArray): String { var setFood = "" food.forEachInd.. 2024. 5. 14.
[Android, 내일배움캠프] 공부일지(2024-05-13) 오늘 공부한 내용 정리(2024년 5월 13일)  1. 코드카타 문제풀이A. 가장 가까운 같은 글자문제 내용 문제 풀이 방법s의 index에 해당하는 char 데이터를 기준으로 앞쪽의 char 데이터들 중 자신과 같은 글자 중 가장 가까운 데이터를 return.없는 경우에는 -1을 return. 해결 코드(스포 주의)더보기// for문으로 돌면서 char와 가장 가까운 같은 글자와의 거리를 구해야 함.fun solution(s: String): IntArray { val answer = mutableListOf() s.forEachIndexed { index, char -> val compare = s.substring(0, index) val resultIndex =.. 2024. 5. 13.
[Android, 내일배움캠프] 공부일지(2024-05-12) 오늘 공부한 내용 정리(2024년 5월 12일)  1. 코드카타 문제풀이A. 두 개 뽑아서 더하기문제 내용 문제 풀이 방법numbers의 각각의 데이터 간의 합에 대한 모든 경우의 수를 리스트에 넣어서 오름차순으로 정렬 후 return 한다. 해결 코드(스포 주의)더보기// 2중 for문으로 모든 경우의 수를 계산해서 mutableList에 넣고 distinct() 하기.fun solution(numbers: IntArray): IntArray { val plusList = mutableListOf() // 바깥 for문은 기준 number와 index를 불러옴 // 안쪽 for문은 바깥의 index와 같지 않은 것들만 불러와서 더해주고 list에 넣어줌. numbers.forEac.. 2024. 5. 12.
[Android, 내일배움캠프] 공부일지(2024-05-11) 오늘 공부한 내용 정리(2024년 5월 11일)  1. 코드카타 문제풀이A. 행렬의 덧셈문제 내용 문제 풀이 방법arr1, arr2가 2차원 배열이고 각 배열의 index에 해당하는 item들의 합을 answer(2차원 배열)에 add 하기.arr1과 arr2의 행과 열이 같기 때문에 1번의 이중 for문을 이용해 합을 계산한다. 해결 코드(스포 주의)더보기fun solution(arr1: Array, arr2: Array): Array { val answer = mutableListOf() arr1.forEachIndexed { rowIndex, _ -> val addArr = mutableListOf() arr1[rowIndex].forEachIndexed { co.. 2024. 5. 11.
[Android, Kotlin] 카테고리 기능 구현 (17) 이번 포스팅에서는 마지막 기능인 카테고리 기능을 구현한 것에 대해 포스팅을 하려고 한다.꽤나 오래 걸렸는데, 내가 천천히 개발한 것도 있고 카테고리를 만들면서 다른 UI적 요소와 기능들이 추가되어야 했기 때문에 오래 걸렸던 것 같다. 바로 내가 어떻게 카테고리 기능을 구현했는지 간단하게 알아보도록 하자.간단히 알아볼 예정이라 코드에 대한 설명이 미흡할 수 있다..! 1. 카테고리 화면 생성우선은 먼저 카테고리 화면을 생성해 주었다.카테고리 화면에서는 자신이 생성한 모든 카테고리를 볼 수 있고, 카테고리를 수정하거나 삭제할 수 있도록 만들어 주었다. @Composablefun CategoryScreen(categoryViewModel: CategoryViewModel = viewModel()) { . . .. 2024. 5. 11.
[Android, 내일배움캠프] 공부일지(2024-05-10) 오늘 공부한 내용 정리(2024년 5월 10일)  1. 코드카타 문제풀이A. 문자열 내 마음대로 정렬하기문제 내용 문제 풀이 방법strings에서 각 string의 n번째 index를 기준으로 정렬한 결과를 return 한다.n번째 index가 같은 경우에는 string의 사전 순서대로 정렬한다.(사전순으로 a, b, c, d....) 해결 코드(스포 주의)더보기// strings의 n번째 index를 기준으로 오름차순으로 정렬하기.fun solution(strings: Array, n: Int): Array { // 우선 전체 문자열을 기준으로 정렬하기(n번째 index가 같은 경우를 해결하기 위함). val stringsSort = strings.sorted() // 정렬된 list를.. 2024. 5. 10.
[Android, 내일배움캠프] 공부일지(2024-05-09) 오늘 공부한 내용 정리(2024년 5월 9일)  1. 코드카타 문제풀이A. 이상한 문자 만들기문제 내용 문제 풀이 방법s를 공백을 기준으로 나눈다나눠진 s 데이터 각각의 짝수번째 index에 해당하는 문자는 대문자로, 홀수번째 index에 해당하면 소문자로 변경해 return 한다. 해결 코드(스포 주의)더보기fun solution(s: String): String { var answer = "" val splitList = s.split(" ") splitList.forEachIndexed { i, string -> string.forEachIndexed { index, char -> // 입력받을 때 소문자만 오는 게 아닌 대문자도 섞여서 올 수 있기 .. 2024. 5. 9.
[Android, 내일배움캠프] 공부일지(2024-05-08) 오늘 공부한 내용 정리(2024년 5월 8일)  1. 코드카타(프로그래머스) 문제 풀이.A. 시저 암호문제 내용 문제 풀이 방법s라는 문자열을 받아오면 각 문자들을 for문으로 받아와 n만큼 더한 값을 반환하기.공백의 경우에는 answer에 공백을 추가해 주고 continue를 돌려서 넘김.해결 코드(스포 주의)더보기fun solution(s: String, n: Int): String { var answer = "" val aInt = 97 val AInt = 65 // A = 65, a = 97 // Z = 90, z = 122 // s를 char로 나눠서 n만큼 이동된 값을 구하기. // char + n이 z값(.. 2024. 5. 8.
[Android, 내일배움캠프] 사전캠프 데일리 미션 (2) 사전캠프 2, 3, 4레벨: 용어 정리하기 IDEIDE(통합 개발 환경): 코딩, 디버그, 컴파일, 배포 등 프로그램의 개발에 필요한 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어.디버그: 컴퓨터 프로그램 개발 단계에서 발생하는 시스템의 논리적인 오류나 비정상 연산(버그)을 찾아내고 수정하는 과정컴파일: 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로세스로 변환하는 프로세스.컨벤션convention은 관습, 대회, 조약 등의 뜻을 가지는 영단어이다.개발에서의 컨벤션은: 개발팀이 프로그램을 작성하고 유지 보수하는 데 사용하는 일련의 규칙과 가이드라인을 뜻함.자료형프로그래밍 언어에서 변수 또는 값이 가질 수 있는 데이터의 종류.변수와 상수변수는 프로그램에서.. 2024. 5. 8.
[Android, 내일배움캠프] 사전캠프 데일리 미션 (1) 내가 Android 트랙에 참여한 계기는 무엇인가요?Android의 기초부터 심화 과정까지 학습해서 Android 앱 개발자로 취업하기 위해서이다.내가 이해한 Android 개발자/앱개발자는 어떤 역할을 하는 사람인가요?Android 어플리케이션을 개발하고 유지보수하는 일을 하는 사람.개발을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지 작성해주시고, 아니라면 앱개발에 대해 찾아본 것을 작성해주세요.고등학교 친구들과 협업해서 앱을 만들고 출시한 경험이 있음.Android 개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개인 역량이 있나요 ?과거 혹은 현재의 업무와 연관 지어도 좋습니다. ‘능력’을 기준으로 고민해주세요.강점: 한 번 일을 .. 2024. 5. 7.
[Android, Kotlin] 일정 item에 menu 추가해서 일정 수정하기 기능 추가하기 (16) 이번에 만들 기능은 일정 추가 기능이다. 일정 수정을 일정 생성할 때 할 수 있었는데, 이를 생성하고 나서도 수정할 수 있게 만들어야 나중에 일정 생성하고도 수정사항이 있을 때, 일정을 새로 생성해야 하는 불편함을 줄일 수 있을 것 같았다. 그러면 바로 만들어 볼까? 1. 설계 우선은 일정 수정 기능을 어떻게 만들지 생각해야 한다. 일단 바로 생각난 것은 더보기 아이콘을 이용한 dropdown menu를 생성하는 것이었다. 일정 정보 item의 오른쪽 끝에 더보기 아이콘을 넣어서 더보기 icon을 클릭하면 dropdown menu를 열어서 일정 수정하기 기능을 만드려고 했었는데.... dropdown menu 특성상 커스텀이 어려웠고, 막상 적용해 보았는데 생각보다 안 어울려서 내가 따로 menu를 만들.. 2024. 4. 19.
[Android, Kotlin] SwipeToDismiss을 이용한 밀어서 삭제하는 기능 구현하기 (15) 이번 포스팅에서는 LazyColumn 안에 SwipeToDismiss을 이용해 옆으로 밀어서 일정을 삭제할 수 있도록 하는 기능을 구현해 보겠다. SwipeToDismiss는 생각보다 많이 어렵지는 않았기에 이 글을 보고 나서 쉽게 사용할 수 있을 것이라고 생각한다. 그러면 바로 어떻게 사용하는지 알아보자. 참고로 따로 dependency를 설치할 필요는 없다. compose 기본 dependency에서 모두 지원되는 기능들이다. 1. dismissState 생성 SwipeToDismiss를 이용하기 위해서는 dismissState 데이터가 필요하다. dismissState는 사용자가 item을 옆으로 밀었을 때를 감지하는 역할을 한다. val dismissState = rememberDismissSta.. 2024. 4. 16.
[Android, Kotlin] 통계 화면 구성하기 (14) 이번에 드디어 통계 화면 구현을 마무리 짓게 되었다. firebase realtime database를 썼을 때는 어떻게 구현해야 할까 막막했는데 firestore로 구현하니까 firestore에 내장된 필터 덕분에 따로 차트용 collection을 만들 필요 없이 하나의 collection으로 해결했다. 그러면 바로 통계 화면을 제작하면서 겪었던 시행착오들을 알아보자. 1. 통계 화면 ui 요소 추가 이번에 planner를 만들면서 통계 화면에 차트 2개(이번 주 일정, 주간 일정)만 있는 건 너무 심심해 보여서 ui 요소도 추가하고 차트 데이터도 바꾸기로 했다. 이번 주 일정을 보여주는 차트는 현재 날짜를 기준으로 그 주에 생성한 일정과 완료한 일정 2개의 데이터를 보여주는 차트였다. 다양한 데이터가.. 2024. 4. 14.
728x90