no image
[Kotlin] BOJ1103 게임
DFS 와 DP 를 이용해서 풀었던 문제 DFS는 금방 구현을 했는데 DP를 사용하지 않고 그냥 생으로 DFS를 돌리면 시간초과가 나와서 DP를 어떻게 사용해먹을까 엄청 고민했다.. DP를 사용하지 않으면 시간초과가 나오는 이유: 한 좌표에 도달하는 방법은 여러가지가 존재하는데 그 좌표에 도달했을때마다 재귀를 돌려서 하기에는 중복된 값이 너무 많기 때문 대략적인 DP 구조 : 최초 1회 방문에 한해서 방문했을 때의 count값을 dp에 저장해두고 dp에 저장된 값보다 쌓아온 count 값이 작다면 생략하고 크다면 새롭게 갱신하는 방식으로 작동 (생략하는 이유는 지금 까지 쌓아온 count가 dp에 저장된 값보다 작다면 이전 회차보다 큰 최댓값은 갱신할 수 없기 때문) 만약 시간초과가 나와서 골머리를 앓고..
2022.08.05
no image
[Kotlin] BOJ1713 후보 추천하기
정렬 우선순위를 세워서 풀었던 문제 PriorityQueue를 사용해서 해당 문제를 풀려고 했었다. 우선순위를 그냥 PriorityQueue에 위임하면 알아서 해주니까 편하게 생각했었는데 PriorityQueue는 입력 당시에 우선순위에 맞게 순서를 재정렬하지 PriorityQueue 안에 들어있는 값의 내용물을 수정해버리면 재정렬되지 않는다. 값을 수정한 값을 다시 집어넣든가 하는 방식으로 진행해야 하지 PriorityQueue 안에 있는 내용물을 함부로 바꿔선 안된다! ^^오늘의 교훈.. (heap 구현했던 것처럼 확장함수로 PQ update 구현하려고 했는데 소스코드 접근이 너무 힘들어서 그냥 ArrayList로 정렬해서 사용) 링크 : https://www.acmicpc.net/problem/17..
2022.08.04
no image
[Kotlin] BOJ1062 가르침
DFS를 이용해서 풀었던 문제 링크 : https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader import java.util.StringTokenizer var N = 0 var K = 0 lateinit var inputs :Array var answer = 0 val isVi..
2022.08.04
no image
[Kotlin] BOJ16236 아기상어
BFS를 이용해서 풀었던 문제 (BFS가 익숙치 않아 코드가 좀 난잡한점 양해 부탁드립니다.) 링크 : https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net import java.io.BufferedReader import java.io.FileInputStream import java.io.InputStreamReader import java.util.PriorityQueue val MX = arrayOf(0,0,-1,1)//상하좌우 val..
2022.08.03
no image
[Kotlin] BOJ3055 탈출
BFS를 이용해서 풀었던 문제 링크 : https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net import java.io.* val MX = arrayOf(0,0,-1,1) //상,하,좌,우 val MY = arrayOf(1,-1,0,0) //상,하,좌,우 lateinit var dp : Array //고슴도치가 지나온 길을 체크인 하기 위해 fun main() { val br = BufferedReader(InputStreamReader(System.`in`))..
2022.08.02
no image
[Kotlin] BOJ14476 최대공약수 하나 빼기
누적합 / 유클리드호제법을 조합해서 풀었던 문제 링크 : https://www.acmicpc.net/problem/14476 14476번: 최대공약수 하나 빼기 첫째 줄에 정수의 개수 N (4 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 N개의 수가 주어진다. 각각의 수는 20억을 넘지 않는 자연수이다. www.acmicpc.net import java.io.* import java.util.PriorityQueue fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val bw = BufferedWriter(OutputStreamWriter(System.out)) val N = br.readLine().to..
2022.08.02
no image
[Kotlin] BOJ3425 고스택
문제 이해가 너무 힘들었던 문제 링크 : https://www.acmicpc.net/problem/3425 3425번: 고스택 각각의 입력값에 대해서, 해당하는 프로그램을 수행한 뒤, 출력값을 출력하면 된다. 출력값이란 스택에 저장되어 있는 숫자이다. 만약, 프로그램 에러가 발생하거나, 모든 수행이 종료됐을 때 www.acmicpc.net import java.io.BufferedReader import java.io.BufferedWriter import java.io.FileInputStream import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.Stack lateinit var programsList ..
2022.08.01
no image
[Kotlin] BOJ9202 Boggle
링크 : https://www.acmicpc.net/problem/9202 9202번: Boggle 각각의 Boggle에 대해, 얻을 수 있는 최대 점수, 가장 긴 단어, 찾은 단어의 개수를 출력한다. 한 Boggle에서 같은 단어를 여러 번 찾은 경우에는 한 번만 찾은 것으로 센다. 가장 긴 단어가 여러 개 www.acmicpc.net import java.io.BufferedReader import java.io.BufferedWriter import java.io.FileInputStream import java.io.InputStreamReader import java.io.OutputStreamWriter lateinit var trie :Array lateinit var words :Array..
2022.07.31
no image
Slidinguppanel Error inflating class com.sothree.slidinguppanel.SlidingUpPanelLayout 오류 해결
오류 코드 전문 2022-05-22 09:43:40.236 27256-27256/com.example.bookchat E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.bookchat, PID: 27256 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.bookchat/com.example.bookchat.activities.SearchActivity}: android.view.InflateException: Binary XML file line #10 in com.example.bookchat:layout/activity_search: Binary XM..
2022.05.22