728x90
반응형

Kotlin 144

<백준> 녹색 옷 입은 애가 젤다지?(Gold 4)

[백준] 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/녹색 옷 입은 애가 젤다지? at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 거의 다 풀었다고 생각한 문제였다. 문제를 보자마자 최소 비용 경로가 나오고 저번에 풀었던 택배 배송 문제가 생각나면서 다익..

<백준> 스카이라인 쉬운거(Gold 4)

[백준] 1863번: 스카이라인 쉬운거 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/스카이 라인 쉬운거 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 정말 쉽지 않다고 생각한 문제였다.(5랑 4랑 뭔가 느낌이 다르네;;) 스스로의 힘으로 거의 다 ..

<백준> 숫자고르기(Gold 5)

[백준] 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/숫자고르기 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 정~~말 오랜만에 푸는 알고리즘 문제였다. 본가도 다녀오고 몸 상태도 회복하느라 손을 댈 수 없었던 나날이었다. 그래서 오늘 문제를 보고 기가 좀 ..

<백준> 전구와 스위치(Gold 5)

[백준] 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/전구와 스위치 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 문제 자체는 매우 간결하고 바로 이해가 됐지만 이번에도 어떻게 코드로 구현해야할지가 떠오르지 않더라 어떤 알고리즘을 써야하는지 ..

우선순위 큐

우선순위 큐(Priority Queue) 이진트리의 형태 오름차순 혹은 내림차순으로 값을 저장 → 기본은 최소 힙 방식이기 때문에 오름차순 트리의 Top을 읽어 최대값이나 최소값을 가질 수 있음 → 들어간 순서와 상관없이 오름차순인 경우에는 최소값, 내림차순인 경우에는 최대값 반환 (자바의 util 패키지를 import 해야한다.) 사용방법 // 선언 val pq = PriorityQueue() // 삽입 pq.add(...) pq.addAll(...) pq.offer(...) // 삭제 pq.poll() pq.remove() // 탐색 pq.contains(...) pq.size pq.peek() 삽입, 삭제 모두 O(logN)의 시간복잡도를 가진다.(부모노드만 비교하며 절반씩 비교하는 횟수를 줄여가기..

Kotlin/StoreInfo 2024.04.12

<백준> 택배 배송(Gold 5)

[백준] 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/택배 배송 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 상당히 쉽지 않은 문제였는데 사용해야하는 알고리즘이 익숙하지 않아서 더욱 그랬던 거 같다. 이름은 많이 들어봤고 원리도 어느정도 아는데 코드로는 구현해본 경험이 거의 없..

<백준> 틱택토(Gold 5)

[백준] 7682번: 틱택토 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/틱택토 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 처음에 문제를 잘 읽었다고 생각했는데도 방향이 비껴가고 있었다. 이건 틱택토를 해결할 수 있냐고 물어보는 문제가 아니라 현재 게임판의 상태가 실제로 일어날 수 있..

Stack 간단 구현

스택에 관한 문제를 풀다가 'Kotlin으로는 어떻게 스택을 구현을 해야할까?' 라는 생각이 들어서 방법을 찾아보다가 알게 된 내용을 적어둔다. 먼저 구성은 인터페이스와 클래스로 했다. 함수만 선언한 인터페이스를 클래스가 상속받아 오버라이딩하는 방법이다. 어떤 객체든 담을 수 있도록 제너릭 클래스를 사용했다. 값을 넣고 뺄 수 있는 ArrayList를 사용했다. 필요한 함수가 추가적으로 생긴다면 인터페이스에 함수를 선언하고 클래스에서 오버라이딩하면 된다. 사용할 때는 StackImpl()을 변수 객체에 초기화하면 된다. interface MyStack { fun push(element: T) fun pop(): T? fun peek(): T? } class StackImpl: MyStack { priva..

Kotlin/StoreInfo 2024.04.11

<백준> 탑(Gold 5)

[백준] 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/탑 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 이전에 자바로 풀어본적이 있었던 문제였다. 그래서... 잘 풀릴 줄 알았지만 다 까먹었기 때문에 또 접근방식만 떠오르고 코드로 어떻게 해야할지가 잘 모르겠더라 접근방..

<백준> 인구이동(Gold 4)

[백준] 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net [깃허브] ForCodeKata/baekjoon 문제집/인구이동 at main · heesoo-park/ForCodeKata Contribute to heesoo-park/ForCodeKata development by creating an account on GitHub. github.com 주말 잘 쉬고 돌아와서 푸는 문제... BFS를 써야겠다는 생각까지는 도달했지만 어떻게 로직이 진행되어야하는지 감이 잘 오지 않더라 그래서 좀 찾아보..

반응형