본문 바로가기

코틀린5

백준 11724번 - 연결 요소의 개수 (코틀린,kotlin) 이번 문제는 연결된 요소의 집합이 몇개인가를 출력하는 문제 dfs를 이용하여 문제를 해결하였다. import java.io.BufferedReader import java.io.InputStreamReader fun main() = with(BufferedReader(InputStreamReader(System.`in`))) { //n 정점, m 간선 val (node, edge) = readLine().split(" ").map { it.toInt() } val graph = Array(node + 1) { ArrayList() } val visited = Array(node + 1) { 0 } var answer = 0 repeat(edge) { val (start, linked) = readLine.. 2020. 11. 6.
백준 1012번 - 유기농 배추 (코틀린, kotlin) 이번 문제는 간단하게 bfs로 접근할수 있었다. import java.io.BufferedReader import java.io.InputStreamReader import java.util.* val dx = arrayListOf(0, 1, 0, -1) val dy = arrayListOf(1, 0, -1, 0) fun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val case = readLine().toInt() repeat(case) { val (M, N, K) = readLine().split(" ").map { it.toInt() } val graph = Array(M) { Array(N) { 0 } } var answer .. 2020. 11. 6.
백준 11399번 ATM - kotlin 그리디 알고리즘의 가장 기초인 듯 한 ATM 문제를 풀어보자 알고리즘 분류 - 그리디 알고리즘 - 첫번째에 있는 문제이다 ​ 문제 접근방법 인출하는 시간이 가장 작은 사람이 앞 순서에 있어야 뒷 순서의 대기 시간을 최소화 할 수 있다. EX) 인출 시간 5 4 3 2 1 -> 본인이 인출을 완료할때까지 걸리는 시간 : 5 9 12 14 15 SUM = 55초 인출 시간 1 2 3 4 5 -> 본인이 인출을 완료할때까지 걸리는 시간 : 1 3 6 10 15 SUM = 35초 ​ 이렇듯 마지막 사람은 어차피 전체의 합 만큼 시간이 소요되지만, 나머지 사람들은 앞의 사람의 시간이 얼마냐에 따라 대기시간이 달라진다. 그러므로 인출시간이 조금 걸리는 사람이 앞 순서로 와야함 -->> 오름차순으로 정렬 ​ 오름차순.. 2020. 11. 4.
백준 1463번 1로 만들기 - kotlin #다이나믹프로그래밍#백준#1로만들기 ​ 본격적으로 코딩테스트용 알고리즘을 공부하기 위해 접속한 백준온라인 저지(https://www.acmicpc.net/) ​ 메뉴 - 문제 - 알고리즘 분류의 첫번째 태그인 다이나믹 프로그래밍을 선택했다 ​ 그 중 첫번째인 1463번 1로 만들기 백준 1463번 1로 만들기 ​ 처음 문제를 마주하고 상당히 자신있었다. 이거 너무 쉬운거 아닌가? 역시 1번문제네 생각하며 바로 코딩 ㄱㄱ ​ 하지만 결과는.... 연속된 에러와 오답 계속 에러가 나던 틀린 코드 도저히 나의 대가리에선 정답이 아닐 수 없는 코드인데 뭔가 놓친것이 있는건지 하여 검색을 해봤다. ​ 거짓말 처럼 나의 코드에 17을 입력했을때 6을 뱉어냈고 내 코드는 실패작이란 것을 깨달았고, 이 문제를 해결하기.. 2020. 11. 4.
백준 9095번 1,2,3 더하기 - kotlin 백준 - 문제 - 알고리즘분류 - 다이나믹 프로그래밍 - 9095번 1,2,3 더하기 이다 ​ 문제 문제를 보자마자 노트에 계산을 해보았고, 금방 피보나치 비스무리 하다는걸 깨달았다. ​ 접근 방법 일단 1,2,3 을 만드는 방법의 수 부터 살펴보면 1 -> 1 (으)로 1개 2 -> 11, 2 (으)로 2개 3 -> 111, 12, 21, 3 (으)로 4개 의 방법이 나온다. ​ 그렇다면 4를 구하는 방법의 수를 한번 직접 구해보면 ​ 4 의 방법의 수 1111, 112, 121, 13, 211, 22, 31 ​ 이런식으로 7개가 나온다 그런데 정렬한 방법이 이상하게 느껴졌을 것이다. 하지만 이는 공식을 도출하기 위한 방법으로 각각 맨 앞자리가 1로 시작할때, 2로 시작할때, 3으로 시작할때로 구분하여.. 2020. 11. 4.
반응형