728x90

Programming/Kotlin 29

[백준/Kotlin] 불(5427)

문제https://www.acmicpc.net/problem/5427 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다.매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에는 불이 붙지 않는다. 상근이는 동서남북 인접한 칸으로 이동할 수 있으며, 1초가 걸린다. 상근이는 벽을 통과할 수 없고, 불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이동할 수 없다. 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다.빌딩의 지도가 주어졌을 때, 얼마나 빨리 빌딩을 탈출할 수 있는지 구하는 프로그램을 작성하시오. [ 입력 ]첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스는 최대 100개이다.각 테스트 ..

Programming/Kotlin 2024.05.07

[백준/Kotlin] 알약(4811)

문제https://www.acmicpc.net/problem/4811 70세 박종수 할아버지는 매일 매일 약 반알을 먹는다. 손녀 선영이는 종수 할아버지에게 약이 N개 담긴 병을 선물로 주었다.첫째 날에 종수는 병에서 약 하나를 꺼낸다. 그 다음, 그 약을 반으로 쪼개서 한 조각은 먹고, 다른 조각은 다시 병에 넣는다.다음 날부터 종수는 병에서 약을 하나 꺼낸다. (약은 한 조각 전체 일 수도 있고, 쪼갠 반 조각 일 수도 있다) 반 조각이라면 그 약을 먹고, 아니라면 반을 쪼개서 한 조각을 먹고, 다른 조각은 다시 병에 넣는다.종수는 손녀에게 한 조각을 꺼낸 날에는 W를, 반 조각을 꺼낸 날에는 H 보낸다. 손녀는 할아버지에게 받은 문자를 종이에 기록해 놓는다. 총 2N일이 지나면 길이가 2N인 문자열..

Programming/Kotlin 2024.05.06

[백준/Kotlin] 욕심쟁이 판다(1937)

문제https://www.acmicpc.net/problem/1937 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 대나무를 먹는다. 그런데 단 조건이 있다. 이 판다는 매우 욕심이 많아서 대나무를 먹고 자리를 옮기면 그 옮긴 지역에 그 전 지역보다 대나무가 많이 있어야 한다.이 판다의 사육사는 이런 판다를 대나무 숲에 풀어 놓아야 하는데, 어떤 지점에 처음에 풀어 놓아야 하고, 어떤 곳으로 이동을 시켜야 판다가 최대한 많은 칸을 방문할 수 있는지 고민에 빠져 있다. 우리의 임무는 이 사육사를 도와주는 것이다. n × n 크기의 대나무 숲이 주어져 ..

Programming/Kotlin 2024.05.06

[백준/Kotlin] 계란으로 계란치기(16987)

문제원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱걸이를 5회 하는 기적의 운동 루틴을 통해 뇌와 근육을 동시에 단련한다. 근육을 단련할 때 식단이 정말로 중요하다는 것을 아는 인범이는 탄수화물이 많은 밥이나 빵 따위의 아침 식사를 대신해 단백질이 많은 계란찜을 해먹는다. 계란찜을 먹기 위해서는 계란을 깨야 하는데, 인범이는 힘이 너무 넘치는 나머지 부엌의 대리석을 이용해 계란을 깨면 늘 껍데기가 산산조각나 뒷처리가 너무 어렵게 되곤 한다. 어떻게 하면 계란을 조심스럽게 깰 수 있을까 고민하던 인범이에게 유현이는 굉장히 좋은 해결책을 알려주었다. 바로 계란..

Programming/Kotlin 2024.05.05

[백준/Kotlin] 소문난 칠공주(1941)

문제https://www.acmicpc.net/problem/1941 총 25명의 여학생들로 이루어진 여학생반은 5×5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작했다. 곧 모든 여학생이 ‘이다솜파’와 ‘임도연파’의 두 파로 갈라지게 되었으며, 얼마 지나지 않아 ‘임도연파’가 세력을 확장시키며 ‘이다솜파’를 위협하기 시작했다.위기의식을 느낀 ‘이다솜파’의 학생들은 과감히 현재의 체제를 포기하고, ‘소문난 칠공주’를 결성하는 것이 유일한 생존 수단임을 깨달았다. ‘소문난 칠공주’는 다음과 같은 규칙을 만족해야 한다.이름이 이름인 만큼, 7명의 여학생들로 구성되어야 한다.강한 결속력을 위해, 7명의 자리는 서로 가로..

Programming/Kotlin 2024.05.05

[Kotlin] 입력값 받기 (BufferedReader, InputStreamReader, StringTokenizer)

Kotlin에서 입력값 받는 방법을 정리해보겠다! Java랑 비슷한데 코드로 작성해보면 살짝 다르기 때문에 비교해서 기록해보겠다. Scanner로 입력 받는 방법도 있지만 이건 속도가 느리기 때문에 나는 무조건 BufferedReader, InputStreamReader를 사용한다. 코드는 조금 길어져도 속도는 좀더 빠르다 JavaBufferedReader br = new BufferedReader(new InputStreamReader(System.in));String input = br.readLine(); // 문자열일때int input = Integer.parseInt(br.readLine()); // 정수일때 Kotlinval br = BufferedReader(Inp..

Programming/Kotlin 2024.05.04

[백준/Kotlin] 신기한 소수(2023)

문제https://www.acmicpc.net/problem/2023 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다.7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수이고, 7도 소수이다. 즉, 왼쪽부터 1자리, 2자리, 3자리, 4자리 수 모두 소수이다! 수빈이는 이런 숫자를 신기한 소수라고 이름 붙였다.수빈이는 N자리의 숫자 중에서 어떤 수들이 신기한 소수인지 궁금해졌다. N이 주어졌을 때, 수빈이를 위해 N자리 신기한 소수를 모두 찾아보자. [ 입력 ]첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. [ 출력 ]N자리 수 중에서 신기한 소수를 오름차순으로 정렬해서 한 줄에 하나씩 출력한다. 풀이- 잘..

Programming/Kotlin 2024.05.04

[백준/Kotlin] 감시(15683)

문제https://www.acmicpc.net/problem/15683 풀이- CCTV 1~5번마다 다른 방향으로 감시를 체크해야함- 5번은 4방향으로 모두 감시하기 때문에 실행 시간을 줄이기 위해 5번부터 모두 체크해둠- dir Array에 위, 오른쪽, 아래, 왼쪽으로 감시할 방향마다 이동 좌표를 정리해두고 사용- 2번은 양방향, 3번은 직각방향으로 2방향을 감시해야 한다는 점 주의- checkCCTV: 방향과 CCTV 위치가 주어지면 해당 방향으로 벽이 나올 때까지 감시하는 함수 // 백준 - 감시(15683)import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;// cctv 감시 ..

Programming/Kotlin 2024.05.04

[Kotlin] Mac + VScode + Kotlin 개발환경 세팅

코테 연습을 Java로 하다가 Kotlin으로 해보려고 개발 환경을 세팅했다. 안드로이드 개발할 때 kotlin을 쓰고 있었지만 VScode에서 Kotlin 코드를 쓸 일이 없었기 때문에 처음 세팅하게 되었다.  1. homebrew를 이용해서 openjdk, kotlin을 설치해준다.brew install openjdkbrew install kotlin 이전에 homebrew가 제대로 안 된적이 있어서 걱정했는데 한 번에 설치되었다. kotlinc -version 위 명령어로 설치 확인까지 해준다.  2. VSCode Extension 설치(Code Runner, Kotlin Language)  Code Runner는 이전에 설치한 적이 있어서 Kotlin Language만 추가로 설치해줬다. 테스트 ..

Programming/Kotlin 2024.05.03
728x90