본문 바로가기

전체 글267

[Android, 내일배움캠프] 공부일지(2024-05-18) 오늘 공부한 내용 정리(2024년 5월 18일)  1. 코드카타 문제풀이A. 직사각형 별 찍기문제 내용 문제 풀이 방법n x m의 별을 찍어서 출력한다. 해결 코드(스포 주의)더보기fun main(args: Array) { val (a, b) = readLine()!!.split(' ').map(String::toInt) repeat(b) { repeat(a) { print("*") } println() }} 풀이 과정세로 길이(b)를 바깥 repeat()으로, 가로길이를 내부 repeat()으로 구성함.가로 별 찍기가 끝날 때마다 줄 바꿈을 해주어야 하기 때문이다. B. x만큼 간격이 있는 n개의 숫자 문제 내용 문제 풀이 방법x.. 2024. 5. 18.
[Android, 내일배움캠프] 공부일지(2024-05-17) 오늘 공부한 내용 정리(2024년 5월 17일)  1. 코드카타 문제풀이A. 2016년문제 내용 문제 풀이 방법a가 월이고 b가 일일 때, 2016년 해당 날짜가 무슨 요일인지 출력출력 형식은 각 날짜의 앞에서 3 단어(SATURDAY -> SAT) 해결 코드(스포 주의)더보기fun solution(a: Int, b: Int): String { val date = LocalDate.of(2016, a, b) return date.dayOfWeek.name.substring(0, 3)} 풀이 과정날짜 데이터에 LocalDate()를 이용해 정확한 날짜 정보를 생성해 줌.LocalDate().dayOfWeek.name을 하게 되면 해당 날짜에 요일을 알 수 있는데, 풀네임으로 나오기 때문에 sub.. 2024. 5. 17.
[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.
728x90