Uknow's Lab.
article thumbnail
[백준 13905번] [Kotlin] 세부
코딩테스트/Kotlin 2023. 11. 7. 15:04

https://www.acmicpc.net/problem/13905 13905번: 세부 첫 번째 줄에는 섬에 존재하는 집의 수 N(2≤N≤100,000)와 다리의 수 M(1≤M≤300,000)이 주어진다. 두 번째 줄에는 숭이의 출발 위치(s)와 혜빈이의 위치(e)가 주어진다. (1≤s, e≤N, s≠e). 다음 M개의 줄 www.acmicpc.net 난이도 : 골드 4 태그 : 자료 구조, 그래프 이론, 그래프 탐색, 분리 집합, 최소 스패닝 트리 설명 한 섬에서 다른 섬으로 가지만, 다리(간선)가 버틸 수 있는 문제가 한정되어 있어, 가중치의 최솟값이 최대가 되야 합니다. 가중치의 최솟값이 최대가 되야 한다... 이게 무슨 말인가 싶긴 하지만, 위 그래프를 예시로 들 때, 1번 집에서 5번 집으로 가..

article thumbnail
비전공자를 위한 이해할 수 있는 IT 지식 후기
일상 2023. 11. 1. 12:00

비전공자를 위한 이해할 수 있는 IT 지식? 우연히 밀리의 서재 구독권이 생겨 여러 책들을 둘러보고 있다가, IT 카테고리에 들어가자마자 인기 도서 목록에 '비전공자를 위한 이애할 수 있는 IT 지식' 이란 도서가 눈에 띄었습니다. 휴학을 하고 잠깐 회사에 다니며 개발자로 일했을 때, 디자이너, 기획자 분들과 소통하기 어려웠던 기억이 있어, 과연 어떻게 이 책은 IT 지식을 어떻게 이야기하고 있을까 궁금하여 이 책을 읽기 시작했습니다. 비 개발자가 바라본 개발자의 대화 클라이언트... 서버... JSON... API... 비개발자 입장에서는 개발자의 말이 외계어처럼 들린다는 이야기를 종종 봤습니다. 사실 IT 비전공자 분들에게는 자기 자신의 전공이 아니기 때문에 너무나도 당연합니다. 의사와 간호사 선생님..

article thumbnail
[백준 14868번] 문명
코딩테스트/Kotlin 2023. 10. 31. 15:29

https://www.acmicpc.net/problem/14868 14868번: 문명 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 세계의 크기를 나타내는 정수 N(2 ≤ N ≤ 2,000)과 문명 발상지의 수 K(2 ≤ K ≤ 100,000)가 주어진다. 다음 K줄에는 한 줄에 하나씩 문명 발상지 www.acmicpc.net 난이도 : 플래티넘 4 태그 : 자료 구조, 그래프 이론, 그래프 탐색, 너비 우선 탐색, 분리 집합 설명 문명은 인접한 칸으로 세력을 넓힙니다. 세력을 넓히면서 한 칸을 서로 차지하려 할 때 혹은 서로 맞닿을 때 두 문명은 합쳐집니다. 한 칸을 서로 차지하려 할 때는 BFS 탐색 중 쉽게 알 수 있으나, 인접할 경우에는 4방향 BFS를 한 번 더 돌려 확인할 수 있습니다..

article thumbnail
안드로이드 무선디버깅 (Wireless Debugging)
프레임워크/Android 2023. 10. 25. 01:43

안드로이드 스튜디오에서 애뮬레이터로 애플리케이션을 실행할 수 있지만, 저는 애뮬레이터보다는 실제 스마트폰에서 테스트 및 디버깅하는 것을 선호합니다. 하지만 실제 스마트폰에서 디버깅을 하기 위해 USB 케이블을 연결하기엔 다소 번거로운 감이 있는데요. WiFi가 제공되는 환경이며, PC와 동일한 네트워크망을 사용중이라면 다행이도 무선 디버깅이 가능합니다. * 아래 내용은 Android 11 이상 기준입니다. 개발자 모드 ON 유/무선에 상관없이 디버깅을 위해서는 개발자모드가 활성화 되어있어야 합니다. [설정 앱] -> [휴대전화 정보] -> [소프트웨어 정보] -> [빌드 번호]를 5번 클릭하면 개발자 모드가 활성화됩니다. PC 스마트폰 페어링(Pairing) 및 연결(Connect) [설정 앱] -> [..

article thumbnail
코틀린에서는 왜 더 큰 타입으로 자동변환되지 않을까?
언어/Kotlin 2023. 10. 16. 18:46

현재 코틀린을 쓰는 분들은 아마도 자바에서 넘어오신 분들이 많을 것 같습니다. 아무래도 같은 JVM 계열의 형제 언어이고, 상호 운용이 가능하고, 여러 특징들을 공유하니까요. 저도 자바 개발자였기에, 다른 언어에 비해 상대적으로 코틀린은 쉽게 배울 수 있었던 것 같습니다. 하지만 자바 개발을 하다가 오신 분들이라면 다소 당황하게 되는 포인트가 하나 있을텐데, 바로 더 넓은 범위의 타입으로 자동으로 변환되지 않는다는 점 입니다. 자바에서는 별 문제 없이 Int 형 변수를 Long 형에 넣어주면, Int -> Long으로 자동으로 승격시켜주는 것에 익숙했기에 조금 의아합니다. 어째서 자동으로 변환해주지 않는 것일까요? 자바의 Wrapper 클래스를 떠올려보면 쉽게 이해할 수 있습니다. 자바의 int, lon..

article thumbnail
[백준 2342번] [Kotlin] Dance Dance Revolution
코딩테스트/Kotlin 2023. 10. 16. 17:08

https://www.acmicpc.net/problem/2342 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net 난이도 : 골드 3 태그 : 다이나믹 프로그래밍 설명 가장 적은 힘을 사용해 DDR을 하는 문제입니다. 음.. 완전탐색을 하기엔 다소 실행 시간이 꽤 걸릴 것 같고, 다이나믹 프로그래밍을 적용시켜볼 수 있겠네요. 접근방법 val dp = Array(n) { Array(5) { Array(5) { Int.MAX_VALUE } } } 3차원 배열 하나를 만들었습니다...

article thumbnail
[백준 17106번] 빙고
코딩테스트/Java 2023. 10. 16. 11:54

https://www.acmicpc.net/problem/17106 17106번: 빙고 한 줄에 5개의 글자, 총 5줄을 출력한다. 각 줄은 순서대로 빙고판의 각 행을 나타낸다. 색칠된 칸은 "#", 색칠되지 않은 칸은 "."로 따옴표 없이 나타낸다. 예를 들어 A1, C3, C4만 색칠하려면 다음과 www.acmicpc.net 난이도 : 플래티넘 5 태그 : 구현, 브루트포스 설명 위 빙고를 풀면 되는 문제입니다. 코드없이 풀 수도 있을 것 같긴 한데, 저는 풀다가 지쳐서 결국 코드를 돌려 해결했습니다... 25개의 각 칸이 색칠되어있는 경우와 색칠되어있지 않은 경우, 총 2 ^ 25 개의 경우의 수에서 각각의 칸이 모순이 되는지 판단하면 됩니다. 애매한 칸은 B5인데, 해당 칸이 거짓이라 해도 문제의..

article thumbnail
[백준 17114번] [Kotlin] 하이퍼 토마토
코딩테스트/Kotlin 2023. 10. 10. 16:33

https://www.acmicpc.net/problem/17114 17114번: 하이퍼 토마토 첫 줄에는 문제의 설명에서 창고의 크기를 나타내는 자연수 m, n, o, p, q, r, s, t, u, v, w가 주어진다. 단, 1 ≤ mnopqrstuvw ≤ 106 이다. 둘째 줄부터는 창고에 저장된 토마토들의 정보가 주어진다. 창 www.acmicpc.net 난이도 : 골드 1 태그 : 구현, 그래프 이론, 그래프 탐색, 너비 우선 탐색 설명 2차원이였던 7576 토마토와 https://uknowblog.tistory.com/30 [백준 7576번] [Kotlin] 토마토 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 ..

article thumbnail
[백준 1944번] [Kotlin] 복제 로봇
코딩테스트/Kotlin 2023. 10. 4. 16:05

https://www.acmicpc.net/problem/1944 1944번: 복제 로봇 첫째 줄에 미로의 크기 N(4 ≤ N ≤ 50)과 열쇠의 개수 M(1 ≤ M ≤ 250) 이 공백을 사이에 두고 주어진다. 그리고 둘째 줄부터 N+1째 줄까지 미로의 정보가 주어진다. 미로는 1과 0, 그리고 S와 K로 주어 www.acmicpc.net 난이도 : 골드 1 태그 : 그래프 이론, 그래프 탐색, 너비 우선 탐색, 최소 스패닝 트리 설명 문제를 보고, BFS로 각 키-키, 로봇-키의 최단거리를 얻어야겠다는 생각은 빨리 떠올랐는데, 최소 이동거리를 어떻게 구해야 하나 고민을 좀 했던 문제였습니다. 결국 태그를 슬며시 눌러봤는데, '최소 스패닝 트리' 키워드를 보고 아 맞네...!를 외쳤습니다...ㅎㅎ.....

article thumbnail
[백준 5373번] [Kotlin] 큐빙
코딩테스트/Kotlin 2023. 9. 29. 18:29

https://www.acmicpc.net/problem/5373 5373번: 큐빙 각 테스트 케이스에 대해서 큐브를 모두 돌린 후의 윗 면의 색상을 출력한다. 첫 번째 줄에는 뒷 면과 접하는 칸의 색을 출력하고, 두 번째, 세 번째 줄은 순서대로 출력하면 된다. 흰색은 w, 노란 www.acmicpc.net 난이도 : 플래티넘 5 태그 : 구현, 시뮬레이션 설명 단순히 문제에 나온 대로 큐브를 구현(시뮬레이션)하는 문제입니다. 특정 알고리즘을 몰라도 풀 수 있는 단순 구현 문제입니다만, 구현 과정은 결코 간단하지 않았던 것 같습니다. 저 같은 경우, 큐브를 돌리기 직전 큐브의 상태를 미리 복사한 뒤, 복사된 큐브값을 바탕으로 실제 큐브값을 바꿨습니다. 소스코드 import java.util.* late..