본문 바로가기

분류 전체보기94

[Cafe In] 기록 #1 1. ImageButton 버튼의 아이콘 크기 조절 속성 ->https://dreamaz.tistory.com/154 android:scaleType="fitCenter" 2. 키보드와 UI 동시에 올리기 ->Manifest.xml 파일 3. Fragment내의 RecyclerView의 아이템 클릭 시, 다른 Fragment로 교체하기 -> Adapter에서 처리 @Override public View getView(int i, View convertView, ViewGroup viewGroup) { //말풍선 클릭 시 댓글창 넘어감 btn_comment.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View vi.. 2022. 2. 17.
[백준] 1149번 RGB거리 자바 문제 (DP) 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 풀이 처음에 DFS로 모든 경우에 한해 값을 계산하고 최소값을 갱신하는 방법으로 풀었는데 시간초과가 떴다. 구글링해보니 dp로 생각보다 간단하게 풀 수 있었다. 행렬의 크기를 [N][3]으로 잡아서 행은 집의 개수, 열은 RGB를 나타내는 개수로 각 집의 색상을 어떤 것을 칠하느냐에 따라 dp배열을 갱신한다. 모든 칠하는 경우의 개수를 보게 되므로 그 전 집의 색깔 중에서 최소값을 바로 택해도 가능하다. 소스 코드 imp.. 2022. 2. 11.
[Kotlin] 기초문법 #02 클래스의 기본구조 클래스: 값과 그 값을 사용하는 기능을 묶어놓은 것 -> 인스턴스를 만드는 틀 인스턴스: 클래스를 이용하여 만들어내는 서로 다른 속성의 객체를 지칭 fun main(){ //2개의 Person인스턴스 var a = Person("홍길동", 1999) var b = Person("김길동", 1980) //ex1) println("안녕하세요, ${a.birth}년생 ${a.name}입니다") //ex2) a.introduce() } //ex1) class Person(var name: String, val birth: Int) //ex2) class Person(var name: String, val birth: Int){ fun introduce(){ println("안녕하세요, ${bi.. 2022. 2. 4.
[Kotlin] 기초 문법 #01 Kotlin 함수형 언어 // 한 줄 주석 /* 여러 줄 주석 */ fun main() { } : 코드 시작점 println("세미 콜론 안붙이고 줄바꿈 출력") 클래스 이름은 파스칼 표기법 : ClassName 모든 단어를 대문자로 시작 함수/변수 이름은 카멜 표기법 : fuctionName 첫 단어만 소문자로 시작 변수 선언 var : 일반적인 변수로 언제든지 읽기/쓰기가 가능함 val : 선언 시 초기화한 이후로 값 변경 불가함 (런타임시 변경되지 말아야 할 값을 안전하게 val로 선언) 클래스에 선언되는 변수 : 속성(property) Scope범위 내에 선언된 변수 : 로컬 변수 기본 자료형 (자바와 거의 비슷) 숫자: Byte, Short, Int, Long (정수형) Float, Double.. 2022. 2. 4.
[백준] 14502번 연구소 자바 문제 (DFS, 브루트포스 알고리즘) 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 세상에나 완전탐색 문제였다. 난 뭐 논리적으로 푸는 줄 알았는데 구글링해보니 그냥 모든 경우에 한해 벽 세우고 탐색하면서 안전구역의 최대값을 구하는 거였다... 나는 벽 세우는 것과 바이러스 퍼져나가는 것 둘 다 DFS로 구현했다. 그리고 minCount와 count 두 개의 변수를 이용해 답을 구했는데, 아래 코드에서 count는 해당 경우의 벽또는 바이러스의 개수 카운트이고, 이 수가 작을수록 안전구역의 개수가 커지는 것이므.. 2022. 2. 2.
[백준] 14888번 연산자 끼워넣기 자바 문제 (브루트포스 알고리즘) 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 문제 풀이 사용되는 연산자를 해당 연산자의 인덱스번호를 perm_data에 담는다. 예를 들어 '+'가 1개, 'x'가 2개 이면 perm_data = {0, 2, 2} 이런 식으로 담기게 된다. 이 배열을 조합하여 모든 경우에 해당 되는 연산자 순서를 구하고, 구하는 경우마다 계산결과를 구해 답을 갱신한다. 소스 코드 import java.util.Scanner; public c.. 2022. 2. 2.