728x90

Kotlin 30

[Android] Toast 나타나는 위치 변경 / setGravity() / API30 이상

Android 개발을 할 때 Toast 위치는 보통 하단 가운데에 나타나게 된다. 이를 setGravity() 메서드를 이용해서 위치를 변경하는 방법이 있다는 사실을 알게 되었는데, 관련해서 정리해보려고 한다! API 29 이하일 때와 30 이상일 때 적용 가능한 방법을 각각 기록해두었다. 💡 Toast setGravity() - API 29 이하// Kotlin 코드Toast.setGravity(int gravity, int xOffset, int yOffset) 위와 같은 방식으로 위치를 지정할 수 있다. gravity는 화면의 상단, 중앙, 하단 등을 지정하고, xOffset, yOffset으로 떨어진 거리를 나타내준다. // Kotlin 코드binding.buttonToast.setOnClick..

Programming/Android 2024.05.09

[백준/Kotlin] 테트로미노(14500) + Java 코드 추가

문제https://www.acmicpc.net/problem/14500폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다.정사각형은 서로 겹치면 안 된다.도형은 모두 연결되어 있어야 한다.정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다.정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다.테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오.테트로미노는 반드시 한 정사각..

Programming/Kotlin 2024.05.08

[백준/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] 감시(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
728x90