분류 전체보기
-
TECHIT 앱 스쿨 2기: Android 24일차 (23.05.30)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 30. 20:33
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘부터 목요일까지 지금까지 배운 객체지향에 대한 개념과 코틀린 문법을 이용하여, 코드를 작성하게 되었습니다. 사실 그동안 강사님께서 알려주신것을 복습을 잘 해놨다면 작성하지 못하는 문제는 아니였습니다. 하지만 분기 내 분기하는 부분이 조금 생각을 해야하는 부분이였던 것 같습니다. 저 또한 작성함에 있어 모르는 부분은 없었으나 구현해야하는 조건들이 많아 작성하는데 있어 하루종일 걸렸었습니다. 그리고 마지막에 데이터를 갱신하면 데이터가 사라지는 증상이 있었는데, 보다보니 맨 앞부분 자료를 제외하고 사라지는 공통점이 있어 확인해 봤더니 파일에서 정보를 가져오는 부분에 제가 코드를 이어서 읽는 부분을 잘못 구현하여 발생하는 문제였습니다. 사실 해당..
-
[백준][Kotlin]5427번 불백준 2023. 5. 28. 22:01
해당문제는 BFS를 이용하면 작성 할 수 있는 문제였습니다. 저의 경우에는 이해하기 쉽도록 방문처리 배열을 2개를 생성하여 불을 번지게 한 후 위치 별로 불이 번지는 시간을 구하는 BFS와 사람이 위치 별로 도착하는 시간을 구하는 BFS를 이용하여 문제를 작성하였습니다. 하기는 제가 작성한 코드와 제출 결과 입니다. import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.* lateinit var fireMap : Array lateinit var visit : Array lateinit var visit..
-
TECHIT 앱 스쿨 2기: Android 23일차 (23.05.26)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 27. 02:44
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘 오전은 강사님께서 내주신 문제를 작성하는 시간을 가졌으며, 어제 같은 조원들과 이야기 한대로 각자 작성한 코드를 리뷰를 하는 시간을 가졌습니다. 다른 사람들의 코드를 보며 느꼈던 점은 구현하려는 기능이 동일하다 보니 비슷한 부분이 많기는 하였지만, 완전히 다르게 구현한 부분도 있었습니다. 완전히 다르게 구현한 분은 파일을 날짜별로 만들어 관리하는 코드를 작성하였었습니다. 저 포함 그 외의 분들은 파일 하나에 이어쓰고 읽는 방식으로 구현하였기에 해당 분의 코드를 보며 한 수 배웠다는 생각이 들었습니다. 마지막으로 리뷰를 마친 후 각자 다른 사람들이 작성한 코드를 보며 수정을 하면 좀 더 좋을 거 같은 부분들을 수정하는 시간을 가졌습니다. ..
-
TECHIT 앱 스쿨 2기: Android 22일차 (23.05.25)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 26. 00:37
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘은 미니프로젝트 틱택톡 게임을 구현해보는 것으로 시작하였습니다. 강사님께서는 문제를 내주시고 팁을 주셨는데 일단 화면구성부터 먼저 하는 것이 일반적이고, 화면을 구성해놓고 나서 기능을 구현하면서 조금씩 수정해가는 것이 편하다고 말씀해주셨습니다. 그래서 저도 코드 작성 시 화면을 먼저 구성해 놓고 기능들을 추가 하면서 작성하였습니다. 하기는 제가 작성한 코드입니다. import java.lang.NumberFormatException import java.util.Scanner // 플레이어가 입력한 위치에 대한 정보를 저장할 이차원 배열 val board = Array(3) { Array(3, {" "}) } // 현재 토큰을 놔야하는 플..
-
TECHIT 앱 스쿨 2기: Android 21일차 (23.05.24)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 25. 01:14
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘의 시작은 예외처리부터 시작하였습니다. 코틀린에서는 예외처리를 강제하지 않습니다. 그렇기 때문에 만약 장애가 발생하게 된다면 프로그램이 중지되기 때문에 장애가 발생할 가능성이 있다면 개발자가 판단하여 작성하면 됩니다. 문법은 자바와 동일합니다. fun main(){ // try ~ catch try{ val stringNum = "문자열을 숫자로 변환해보자" stringNum.toInt() } catch (e: Exception){ println("장애 발생 시 실행됨.") println("e.printStackTrace() : ${e.printStackTrace()}") } finally { println("장애가 발생하든 안하든 반드시..
-
TECHIT 앱 스쿨 2기: Android 20일차 (23.05.23)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 24. 00:25
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘 오전에는 어제 내주신 간단한 과제에 대하여 설명 및 중첩클래스와 데이터 클래스를 이용하여 작성하면서 개념을 설명해주셨습니다. 오후에는 배열과 문자열, 컬렉션에 대해서 설명해주셨습니다. 코틀린에서 배열은 개발자가 편한대로 작성할 수 있도록 배열관련 문법들을 지원합니다. 배운 내용과 더불어 알고 있는 내용을 조금 추가하여 작성하였으며, 이해하기 쉽도록 IntArray 을 사용하였으며 IntArray 대신 Array를 작성하여도 되며 Array로 작성할 경 코드에서는 c2에 들어가는 람다식에서 자료형을 추가하면 됩니다. 그리고 새로운 배열이 생성되는 것을 확인하기 위하여 변수를 변경하지 않고 진행하였습니다. fun main(){ // 기본 배..
-
TECHIT 앱 스쿨 2기: Android 19일차 (23.05.22)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 23. 00:45
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘의 시작은 리플렉션에 대한 설명이였습니다. 리플렉션(Reflection) 프로그램 실행 중인 객체에 대한 다양한 정보를 파악하기 위한 개념입니다. 리플렉션을 사용하면 클래스, 인터페이스, 메서드, 프로퍼티 등의 정보를 동적으로 알아낼 수 있고, 실행 중에 객체를 생성하고 메서드를 호출하며, 프로퍼티 값을 가져오거나 설정할 수 있습니다. 코틀린 리플렉션은 kotlin.reflect 패키지에 정의된 클래스와 함수들을 사용하여 구현됩니다. :: 연산자를 사용하여 메서드나 프로퍼티를 참조할 때는 해당 메서드 또는 프로퍼티의 시그니처(매개변수 형식 및 반환 형식)와 참조하는 위치에 따라서 참조 타입이 결정됩니다. 하기는 코틀린 클래스와, 자바 클래..
-
TECHIT 앱 스쿨 2기: Android 18일차 (23.05.18)[THEC!T] 앱 스쿨2기 : Android 2023. 5. 18. 23:40
자료 출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 내용 오늘 오후에는 중간과제를 작성하였습니다. 중간과제는 제가 실수도 하고, 어쩌다 보니 다르게 구현하기도 한 문제와 유사한 문제가 나왔었습니다. 연습을 몇번했어서 그런지 빠른 속도는 아니지만 스스로 만족할 만한 결과물이 나와서 뿌듯했으나, 제출을 하기전에는 안보이다가 제출을 하고 나서 맘에 안드는 부분이 보여 뿌듯함이 사라져버렸습니다. 작성을 하고 나서 출력결과에 대해서 확인을 하다보니 정작 코드 내부를 자세히 못봤던 것 같습니다. 마지막에 좀 더 꼼꼼하게 점검을 했어야 됬는데 뭔가 마무리가 어설퍼 조금 착잡해졌던 것 같습니다. 앞으로는 코드 작성 후 마무리를 좀 더 꼼꼼하게 할 수 있도록 노력하겠습니다. 오늘은 코틀린에 대한 학습은 오전에만 진..