본문 바로가기

전체 글126

[2023-05-25] 1652 누울 자리를 찾아라 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net 15분 정도 걸렸습니다. package fiftyfifth import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() // 방문했는지 확인할 배열 2개 val arr1 = Array(n){Array(n){false} } val ar.. 2023. 5. 25.
[2023-05-23] 2503 숫자 야구 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 12시가 넘어버렸지만.. 어제 풀기 시작한 것이므로, 날짜를 어제로 해서 올립니다. 고민을 오랫동안 했지만 결국 풀지 못했고, 다른 분의 풀이를 봤습니다. 다른 문제들과는 다르게, 해당 문제는 저에게 너무 도움이 됐습니다. package fiftyfourth // 10:55 // 123 ~~ 987 이렇게 중복없이 세자리 숫자를 모두 뽑는다. // 입력받은 숫자들, 조건들을 비교하여 .. 2023. 5. 25.
[2023-05-24] 8979 올림픽 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 15분 정도 걸렸던 것 같습니다. 처음 Triple 객체를 사용해보네요 package fiftyfourth import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (n,k) = br.readLine().split(' ').map{it.toInt()} var tr.. 2023. 5. 24.
[2023-05-23] 10973 이전 순열 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/10973 10973번: 이전 순열 첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 첫 번째 시도 (메모리 초과) N과 M과 비슷한 유형이라 생각하여 바로 dfs로 풀어봤습니다. package fiftysecond import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() val input = br.readLine().split(' ').map{it.toInt()} val ans.. 2023. 5. 23.
[2023-05-22] 2669 직사각형 네개의 합집합의 면적 구하기 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/2669 2669번: 직사각형 네개의 합집합의 면적 구하기 입력은 네 줄이며, 각 줄은 직사각형의 위치를 나타내는 네 개의 정수로 주어진다. 첫 번째와 두 번째의 정수는 사각형의 왼쪽 아래 꼭짓점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각 www.acmicpc.net 7분 정도 걸렸습니다. // 주어진 최대 크기의 배열 생성 후 // 1로 주어진 영역 색칠 // 배열 내 요소 다 더해주기 package fiftysecond import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val arr = Array(101){Array(1.. 2023. 5. 22.
[2023-05-22] 2161 카드1 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제를 푸는데 4분이 걸렸습니다. LinkedList를 이용하였습니다. // 10 : 34 import java.io.* import java.util.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() val stack = LinkedList() for (i.. 2023. 5. 22.
[2023-05-21] 2564 경비원 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/2564 2564번: 경비원 첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄 www.acmicpc.net 25분 정도 걸렸습니다. 더 좋은 풀이가 있을 것 같다는 생각이 들었지만, 떠올리지 못하여 하드코딩으로 풀었습니다. package fiftyfirst import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (w,h) = br.readLine().split(' ').map{it.toInt(.. 2023. 5. 21.
[Android] #10-2 리사이클러뷰 헤더 설정 리사이클러뷰로 표현할 채널 프레그먼트의 모습입니다. 상단의 채널 배너, 채널 이름, 채널 설명, 비디오 개수까지가 헤더 뷰입니다. 그 밑으로는 쭉 동영상을 표시할 아이템 뷰입니다. 리사이클러뷰를 위한 어댑터를 먼저 만들어주었습니다. 리스트를 효율적으로 관리하기 위해 ListAdapter를 이용하였습니다. class ChannelVideoRecyclerViewAdapter(channelData: ChannelData): ListAdapter( diffUtil ) { // 인자로 받는 channelData는 헤더뷰를 위한 채널 정보 데이터 입니다. // 리스트 내 아이템 비교를 해줄 diffUtil companion object diffUtil : DiffUtil.ItemCallback() { overrid.. 2023. 5. 21.