전체 글
💡 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18TrIqIwUCFAZN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 문제 [설명] 해야 할 V개의 작업이 있다. 이들 중에 어떤 작업은 특정 작업이 끝나야 시작할 수 있으며, 이를 선행 관계라 하자. 이런 작업의 선행 관계를 나타낸 그래프가 주어진다. 이 그래프에서 각 작업은 하나씩의 정점으로 표시되고 선행 관계는 방향성을 가진 간선으로 표현된다. 단, 이 그래프에서 사이클은 존재하지 않는다 (사이클은 한 정점에서 시작해서 같은 정점으로 돌아오는 경로를..
💡 View Binding이란? 우리는 기존에 Layout에 있는 View에 접근하기 위해서는 아래와 같이 사용해야 했었다. // TextView 변수 선언 private lateinit var tvOne: TextView // TextView 변수와 activity_main의 tvOne id를 가지는 View와 연결 tvOne = findViewById(R.id.tvOne) Layout에 View과 많지 않다면 그렇게 귀찮은 일은 아니지만, View가 많을 경우 일일이 작성해야 하는 불편함이 있었다. 그래서 나온 것이 View Binding이다. View Binding은 XML Layout 파일에 대한 Binding Class를 자동으로 생성해 View와 상호작용한다. 그렇기 때문에 별도의 연결과정 없..
💡 개요 이전 포스팅에서 RecyclerView를 사용할 Layout에 추가하고, RecyclerView에 들어가는 Item을 만들었다. 또한, Data를 하나로 묶어서 관리하기 위한 DTO를 만들었다. 이어서 Adapter를 만들고 실제 Activity에 적용시켜보고자 한다. 💡 STEP 4 : Adapter 만들기 이제 본격적으로 Adapter를 만들어야 한다. Adapter는 간단하게 아이템을 RecyclerView에 바인딩시켜주기 위한 사전 작업이 이루어지는 객체이다. Adapter에 속한 각 함수에 대해 설명하자면 onCreateViewHolder는 ViewHolder 객체를 만들어주는 역할을 한다. onBindViewHolder는 생성된 ViewHolder에 Data를 Binding 해주는 역..