728x90

전체 글 265

[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

[백준/Java] 후위 표기식(1918)

문제https://www.acmicpc.net/problem/1918수식은 일반적으로 3가지 표기법으로 표현할 수 있다. 연산자가 피연산자 가운데 위치하는 중위 표기법(일반적으로 우리가 쓰는 방법이다), 연산자가 피연산자 앞에 위치하는 전위 표기법(prefix notation), 연산자가 피연산자 뒤에 위치하는 후위 표기법(postfix notation)이 그것이다. 예를 들어 중위 표기법으로 표현된 a+b는 전위 표기법으로는 +ab이고, 후위 표기법으로는 ab+가 된다.이 문제에서 우리가 다룰 표기법은 후위 표기법이다. 후위 표기법은 위에서 말한 법과 같이 연산자가 피연산자 뒤에 위치하는 방법이다. 이 방법의 장점은 다음과 같다. 우리가 흔히 쓰는 중위 표기식 같은 경우에는 덧셈과 곱셈의 우선순위에 차..

Programming/JAVA 2024.05.03

[백준/Java] 아기 상어(16236)

문제https://www.acmicpc.net/problem/16236 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다.아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다.아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은 물고기는 먹을 수 없지만, 그 물고기가 있는 칸은 지나갈 수 있다.아기 상어가 어디로 이동할지 결정하는 방법은 아래와 같다.더 ..

Programming/JAVA 2024.05.03

[프로그래머스/JavaScript] 튜플(Lv.2) 문제 풀이

문제https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [ 문제 설명 ]셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다.(a1, a2, a3, ..., an)튜플은 다음과 같은 성질을 가지고 있습니다.중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2)원소에 정해진 순서가 있으며, 원소의 ..

[Android] 안드로이드 프로젝트 minSDK 버전

안드로이드 프로젝트를 생성할 때마다 minSDK를 별생각없이 설정했는데, 각 버전마다 점유율이 다르고 지원하는 기능도 다르기 때문에 좀 더 고민을 해야 할 것 같다고 생각했다. 최근에는 프로젝트 생성하면 디폴트 버전이 33이길래 그걸로 생성하고, compileSDK는 34로 올렸었다. (33으로 해두면 에러가 나서...)지금 사용 중인 모바일 기기는 안드로이드 버전이 14라서 SDK 34버전까지 케어 가능하기 때문에 SDK 버전을 예민하게 고민하지 않았던 거 같기도 하다. 프로젝트 생성할 때 SDK 버전을 선택하면 점유율?이 퍼센트로 나오긴 하지만, 좀 더 정리된 글을 찾아보았다. https://no-dev-nk.tistory.com/110 안드로이드 버전별 점유율 2024.2이 글의 주제는 안드로이드 ..

Programming/Android 2024.04.29

[Android Studio] Paging

Android Developer 사이트를 구경하다가 Paging이라는 걸 발견했다. Recyclerview에서 데이터를 페이지로 끊어서 가져올 수 있는 것 같다. 표시해야 할 데이터가 많아서 스크롤이 작아지고 화면이 길어지면 그 데이터를 다 불러올 동안 로딩 시간이 너무 많이 걸리게 된다. 이전에 참여한 앱 프로젝트에서 이런 경우가 있었는데 당시에는 다른 기능을 빨리 마무리해야 해서 해결을 못하고 넘어갔지만 이 방법을 적용하면 될 것 같다. 지금 졸업작품으로 만들고 있는 앱에도 이게 도움이 될 것 같다. 해당 부분에 적용해봐야겠다. https://developer.android.com/jetpack/androidx/releases/paging Paging | Android 개발자 | Android Dev..

Programming/Android 2023.03.14
728x90