목록Programming (7)
이곳저곳 관심이 많아요
빙고 칸 안에 적힌 문장의 참, 거짓 여부를 판별하여 완성된 빙고를 유추하는 문제. 문제 해결 순서 먼저 바로 '참' 조건인 것을 알 수 있는 칸부터 칠해보자. C2 : 문장 그대로 참. C3 : C3가 거짓이 될 조건 => 색칠이 되어있으면서 빙고줄의 일부가 아니어야한다. 하지만 C3가 거짓이 되어서 색칠이 되지 않는다면 문장의 조건을 만족하므로 참이 된다. 따라서 C3는 거짓이 될 수 없고 항상 참이다. 서로 연관성을 갖는 칸을 찾아보자. 빨간색으로 칠해진 E5와 A5의 연관성을 먼저 보자. 만약 E5가 참이면 색칠되고, A5도 색칠돼야 한다. 만약 E5가 거짓이면 색칠되지 않고, A5도 색칠돼야 한다. 즉 E5와 A5는 둘 다 색칠되거나, 둘 다 색칠되지 않아야 한다. D1과 D4도 같은 관계성을 ..
엑티비티에서 프래그먼트 불러오기 메인 레이아웃 파일에 프래그먼트 컨테이너를 생성한다. 메인 엑티비티에서 프래그먼트 컨테이너를 불러온다. val fragmentContainer: View = findViewById(R.id.fragmentContainerView) 프래그먼트를 불러오기 전, 프래그먼트 컨테이너에 이미 프래그먼트가 있다면 불러오지 않는다. if(savedInstanceState != null){ //이전에 저장된 프래그먼트 있으면 return //프래그먼트 추가 안해도됨 } 프래그먼트매니저를 이용해서 프래그먼트를 불러온다. supportFragmentManager.beginTransaction() .add(R.id.fragmentContainerView,FragmentA()) .addTo..
메인에서 registerForActivityResult 메소드 정의 메인에서 서브엑티비티 인텐트 생성하고 메인에서 열어주기 서브엑티비티에서 메인엑티비티 인텐트 객체 생성하고, 필요한 데이터를 Bundle로 넣어준 후, setResult로 호출 결과를 돌려줌 메인엑티비티에서 registerForActivityResult 메소드를 정의해서 startForResult 변수에 넣어준다. registerForActivityResult == 결과를 돌려받았을 때 결과를 처리하는 메소드 private val startForResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ..
RecyclerView A to Z : ViewModel 적용 X 파일 구성 MainActivity.kt activity_main.xml RecyclerView 디자인을 위한 item.xml파일 RecyclerView Adapter.kt : init 단계에서 data class에 데이터 add하기, MyViewHolder class 구현하기 RecyclerView data를 위한 data class.kt activity_main.xml 파일에 리사이클러뷰 등록 MainActivity.kt 파일에서 xml에 등록된 리사이클러뷰를 아이디로 불러온 후, 레이아웃 매니저 설정 var recyclerView:RecyclerView = findViewById(R.id.recyclerView) recyclerView..
1. MainActivity_기본 package com.example.myapplication import android.content.Intent import android.net.Uri import android.os.Bundle import android.widget.Button import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) findViewById(R.id.ca..
1. MainActivity package com.example.myapplication import android.app.Activity import android.content.Intent import android.os.Bundle import android.widget.Button import android.widget.EditText import androidx.activity.result.ActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity const val EXTRA_MESSAGE_STR = "com.example.my..
#include //막대 from에 쌓여있는 n개의 원판을 막대 tmp를 사용해 to로 옮긴다. void hanoi_tower(int n,char from, char tmp, char to) { if (n == 1) { printf("원판 1을 %c에서 %c로 옮긴다.\n",from,to); } else { hanoi_tower(n - 1, from, to, tmp); printf("원판 %d를 %c에서 %c로 옮긴다.\n", n, from, to); hanoi_tower(n - 1, tmp, from, to); } } int main(void) { hanoi_tower(4, 'A', 'B', 'C'); }