전체 글126 [2023-05-10] 1182 부분 수열의 합 (Kotlin) + 8 문제 문제 링크: https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net // 수열 중 선택할 개수를 반복문을 통해 dfs 함수에 전달해주었습니다. package thirtyfirst_fourtieth.fourtieth import java.io.* import java.util.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (n,s) .. 2023. 5. 10. [2023-05-09] 24479 알고리즘 수업 - 깊이 우선 탐색 1 (Kotlin) + 7문제 문제 링크: https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net 첫 번째 시도 (틀렸습니다.) package thirtynineth import java.io.* import java.util.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (n, m, r) = br.readLine().spl.. 2023. 5. 9. [2023-05-08] 1735 분수 합(Kotlin) + 4문제 문제 링크: https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 최대 공약수를 구하면 되는 문제였습니다. 유클리드 호제법을 구현하는 함수를 외워서 작성하였습니다. package thirtyeighth import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (a,b) = br.readLine().split(' ').map{it.toInt()} val (c,d) = br.readLine().split(.. 2023. 5. 8. [2023-05-07] 28015 영역 색칠 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/28015 28015번: 영역 색칠 첫째 줄에는 그림의 세로 길이 $N$과 가로 길이 $M$이 공백으로 구분되어 주어진다. $(2\leq N,M\leq 100)$ 그다음 $N$줄에 걸쳐 $M$개의 정수가 공백으로 구분되어 주어진다. 각 정수는 그림 한 칸의 정보 www.acmicpc.net 고작 실버 3 따리 문제지만, 삽질을 하도 많이 해서 올려봅니다. 첫 번째 시도(틀렸습니다.) package thirtyseventh import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val (n,m) = br.readLine().split(' ').. 2023. 5. 7. [2023-05-06] 1890 점프 (Kotlin) + 6문제 문제 링크: https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 처음 보자마자 BFS 유형으로 생각하고 문제를 풀었다. 첫 번째 시도 (메모리 초과) package thirtysixth import java.io.* import java.util.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() // 입력을 저.. 2023. 5. 6. [2023-05-05] 1325 효율적인 해킹 (Kotlin) + 5문제 문제 링크 : https://www.acmicpc.net/problem/1325 4,5 val map = Array(n+1){arrayListOf()} repeat(m){ val token = StringTokenizer(br.readLine()) val a = token.nextToken().toInt() val b = token.nextToken().toInt() map[b].add(a) } // 1 ~ n 별로 해킹 가능한 횟수를 저장할 배열 val countArr = Array(n+1){0} // 최대 횟수를 저장할 변수 var maxCount = 0 // 1 ~ n까지 반복 for (index in 1..n){ // 방문 배열 val visit = Array(n+1){false} val queu.. 2023. 5. 5. [2023-05-04] 18111 마인크래프트 (Kotlin) + 9문제 문제 링크: https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 유형을 몰라 많이 헤매었습니다. 첫 번째 시도 (틀렸습니다.) // 한 줄의 리스트로 입력받은 높이를 모두 저장 // 높이를 저장할 dp 배열 생성 // 1 부터 index를 돌며 // 이전 index의 dp 배열의 높이와 다를 경우, // 이전 것들의 높이를 맞추는 시간과, 현재 것의 높이를 내리는 시간을 비교하여 최소값을 기록 // 현재의 dp 배열에 고르게 맞춘 높이를 저장 /.. 2023. 5. 4. [2023-05-03] 1107 리모컨 (Kotlin) + 12문제 문제 링크: https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 첫 번째 시도입니다. (틀렸습니다.) package thirtyThird import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() val m = br.readLine().toInt() val list = br.readLin.. 2023. 5. 3. 이전 1 ··· 6 7 8 9 10 11 12 ··· 16 다음