전체 글
-
TECHIT 앱 스쿨 2기: Android 29일차 (23.06.08)[THEC!T] 앱 스쿨2기 : Android 2023. 6. 8. 21:33
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘은 어제 내주신 과제에 대한 실습으로 시작을 하였습니다. ConstraintLayOut 에서 버튼 배치, 텍스트뷰, 에디트텍스트 배치를 하는 문제였습니다. 강사님께서 작성하신 xml 파일과 제가 작성한 xml 파일에서의 차이점은 margin 차이와 padding 차이를 제외하고는 없었습니다. 하기는 제가 작성한 xml 파일 입니다. 이후로는 Space에 대하여 설명해주셨습니다. Space는 Layout는 아니지만 Layout을 이용하여 화면을 구성할 때 보조 수단으로 사용하는 view이며, 화면 구성 시 여백이 필요할 경우 사용한다고 하셨습니다. Space에 대한 설명 이후 에는 Space와 margin 에 대하여 실습을 진행하였습니다. ..
-
TECHIT 앱 스쿨 2기: Android 28일차 (23.06.07)[THEC!T] 앱 스쿨2기 : Android 2023. 6. 7. 23:32
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘의 시작은 지난주에 알려주신 안드로이드의 동작원리에 대해서 설명해주시면서 시작하셨습니다. 간단하게 설명하자면 AndroidManifest은 개발자가 안드로이드에게 해당 프로그램은 어떠한 프로그램인지 알려주는 용도이며 안드로이드는 해당 파일을 분석하여 이 있는 activity를 찾아 해당 activity의 name 속성의 클래스의 객체를 생성한 후 onCreate() 메서드를 호출합니다. 이 때 setContentView 메서드에 관리할 화면을 지정하는데 res 폴더의 layout에 있는 xml 파일을 지정하게 됩니다. 다음으로는 view에 대해서 설명해주셨습니다. 안드로이드에서는 눈에 보이는 모든 요소를 View라고 부르며, 개발자가 배치..
-
[백준][Kotlin] 2302번 극장 좌석백준 2023. 6. 6. 02:31
해당 문제는 DP 문제였습니다. 해당 문제에서 빈자리 별 경우의 수를 구하는 점화식은 arr[i] = arr[i-2] + arr[i-1] 입니다. 사람마다 다를 수 있겠지만 저의 경우는 빈자리의 갯수만큼 나올 수 있는 경우의 수를 저장한 배열을 생성하고, 고정석의 자리를 확인하면서 빈자리의 개수를 확인하여 발생 할 수 있는 경우의 수를 구하는 방식으로 코드를 작성하였습니다. 하기는 제가 작성한 코드와 제출 결과 입니다. import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.StringTokenizer f..
-
[백준][Kotlin]9461번 파도반 수열백준 2023. 6. 6. 02:24
해당 문제는 DP 문제 였습니다. 개인적으로 알고리즘 공부를 하면서 정말 어려웠고 어려운 알고리즘 입니다. 수식이 잘 떠오르지 않아 수식을 찾는 시간이 오래 걸리기 때문입니다. 분명 고등학생때는... 잘 찾았던거 같은데....???ㅋㅋㅋㅋ 해당 문제의 점화식을 먼저 말씀드리면 a[ i ] = a[ i -2 ] + a[ i - 3 ] 입니다. 그리고 제가 작성하면서 생각을 미처 하지못햇던 부분이 있는데 N이 최대 100이면 자료형을 Int로 하면 78번째에서 오버플로우가 발생한다는 점이였습니다. 처음에는 점화식을 잘못 구한줄 알고 검산을 해봤으나 문제가 없음을 확인한 뒤 문제를 다시 한번 보니 2^31-1 이라는 조건이 없는 것을 보고 작성한 코드에서 최대값을 100을 입력하면 오버플로우가 발생하는 것을 ..
-
[프로그래머스][Kotlin] 큰 수 만들기프로그래머스 2023. 6. 5. 18:51
해당 문제는 작성하는 사람에 따라 조금 다르겠지만 저의 경우는 데크와 카운터를 이용하여 작성하였습니다. 처음에 해당 문제를 보고나서 반복문은 1번만 사용하는 코드로 작성을 해야 시간복잡도에서 문제 없이 진행 될 수 있음을 알았기에 처음에 작성하는 것에 있어서는 문제가 없었습니다. 그런데 낮은수를 제거할때 자릿수 계산에서 식이 딱 떠오르지 않아 손으로 그려보면서 자체디버깅을 하고 있었는데 생각해보니 큰 수를 만들려면 뒤에 큰수가 얼마나 있던 앞에 작은 수가 없어야 된다는 규칙과 앞에서 작은수를 제거하면서 k 만큰 제거 한다면 해당 수가 가장 큰 수임을 확인할 수 있었습니다. 해당 방식으로 코드를 작성하여 통과 하였습니다. 하기는 제가 작성한 코드와 실행결과 입니다. import java.util.Array..
-
TECHIT 앱 스쿨 2기: Android 27일차 (23.06.02)[THEC!T] 앱 스쿨2기 : Android 2023. 6. 3. 01:26
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘 안드로이드 교육과정에 대하여 간단한 설명 과 안드로이드 스튜디오 설치를 하는 것으로 시작하였습니다. 안드로이드 스튜디오를 설치하면서 사람 별로 사용하는 인터넷에 따라 속도가 다를 수 있음을 감안하셨는지 설치 중 파일 다운로드 과정에서 지금까지 모바일 시장 흐름에 대한 설명을 해주셨습니다. 시작은 통신환경에 대한 설명 중 TDMA에서 CDMA로 변경되어 가는 과정부터 시작하여 WIPI(한국형 통합 모바일 플랫폼, 스마트폰X)에 대한 설명등을 해주시면서 피처폰 시절부터 지금까지 발전하게 된 과정을 말씀해 주셨습니다. 해당 이야기를 강사님께서 흥미롭게 말씀해주셔서 메모를 해야지 라는 사실도 잊었던 것 같습니다. 기억에 가장 남는 강사님의 말씀..
-
TECHIT 앱 스쿨 2기: Android 26일차 (23.06.01)[THEC!T] 앱 스쿨2기 : Android 2023. 6. 1. 20:24
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘의 시작은 지금까지 작성한 코드에서 개선이 필요한 곳은 없는가? 혹은 배웠던 내용중에 추가할 만한 개념은 없는가? 등을 고민하면서 제가 작성한 코드들을 검토하였습니다. 검토를 하면서 일부 수정을 한 부분이 있었습니다. 파일에 저장하는 객체는 LinkedHashMap 하나 뿐이라 연속된 데이터를 읽어오는 것이 아니라 while문을 이용하여 데이터를 가져오는 코드를 수정하였으며, 파일에 데이터를 쓰는 부분을 별도 클래스로 분리한 뒤 삽입,수정,삭제 기능을 담당하는 클래스에 상속을 받게 만든 후 코드의 양을 일부 줄일 수 있었습니다. 그리고 파일에 데이터를 쓰는 함수는 상속을 받은 클래스에서만 사용할 수 있도록 protected 접근제한자를 지..
-
TECHIT 앱 스쿨 2기: Android 25일차 (23.05.31)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 31. 23:19
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 벌써 5월 마지막날입니다. 지금 생각해보면 시간이 정말 빠르게 간 것 같습니다. 퇴사를 작년 8월 말일날 했는데 벌써 곧 퇴사한지 1년이 되어간다는게.....ㅡㅜ 오늘은 강사님께 질문을 드리면서 시작을 하였습니다. 강사님이 보여주신 코드가 작동하는 영상을 보며 제가 작성한 코드와 차이점을 확인하여 질문을 드렸습니다. 첫 번째로는 데이터가 입력한 순서대로 저장되고 불러온다는 점에서 차이가 있었습니다. 제가 작성하였었던 코드는 입력한 순서대로 나오지 않고 저장한 이름으로 정렬이 되어 나온다는 차이가 있었기에 해당 방식이 문제가 없는지에 대하여 질문을 하였습니다. 두 번째로는 첫 번째 질문에 대한 답변을 듣고 생각하였을 때 저장방식에 대한 차이라는..