전체 글124 [Algorithm] 월간 코드 챌린지 시즌3 >> 나머지가 1이 되는 수 찾기 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 코드 class Solution { public int solution(int n) { if(n==1) return 1; else { int divide = 2; while(divide < n){ if(n % divide == 1) break; else divide++; } return divide; } } } 설명은 따로 안 해도 될 것 같다. 결과 2023. 7. 20. [Algorithm] 스택/큐 같은 숫자는 싫어 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 코드 import java.util.*; public class Solution { public int[] solution(int []arr) { int[] answer = {}; Stack stack = new Stack(); for(int number : arr){ if(stack.size()!=0 && stack.peek() == number) continue; stack.push(number); } answer = new int[stack.size()]; for(int i = a.. 2023. 7. 20. [Android] Window에서 LogFilter 사용 하기 LogFilter 소개LogFilter는 Android Device의 Log 분석 툴로 특정 문자를 이용한 필터링이나 로그 타입에 따른 필터 등 등 여러 가지 필터링 기능을 제공하고 있다.LogFilter의 버전은 매우 많기 때문에 구글링 후 본인이 사용하고 싶은 버전을 사용하면 된다. 여기서 사용할 버전은 1.8 버전이며 설치 환경은 Windows로 설명할 예정이다. LogFilter 설치 및 환경 설정먼저 첨부된 파일을 다운로드한다. LogFilter를 사용하기 위해선 Jdk와 adb가 필요하다. 1. JDK 설치먼저 Java의 경우 아래 링크에서 다운 받아 설치해 준다. Download the Latest Java LTS FreeSubscribe to Java SE and get the most c.. 2023. 7. 20. [Android] ExecutorService를 이용해 AsyncTask 대체하기 개요 Wallpaper를 자동으로 적용시켜야 하는 작업을 하게 되었다. 시나리오는 아래와 같다. 적용할 Wallpaper를 전달 Wallpaper가 전달되는 동안 Loading 화면을 보여줌 세팅이 끝나면 Loading 화면을 닫고 설정이 완료되었다는 것을 유저에게 인지 시킴 위 시나리오처럼 동기 처리가 필요하기 때문에 AsnycTask를 사용하면 그렇게 어렵지 않게 작업할 수 있었지만 이미 deprecated 된 AsyncTask 클래스를 쓴다는 게 조금 찝찝해 ExecutorService와 Handler, Callable를 이용해 구현해 보았다. 코드 AutoSetWallpaperRunner 클래스는 ExecutorService로 Callable클래스를 호출하고 콜백 해줄 클래스다. class Aut.. 2023. 7. 20. [Android] Open Source Library 표시하기 시작 기본적으로 앱을 배포하려면 오픈 소스 라이브러리를 표시해줘야 하는데, 이 부분을 직접 해주려면 꽤나 귀찮아진다. 때문에 Google에서 친절하게 play-services-plugins 라이브러리를 만들어 줬다. https://github.com/google/play-services-plugins/tree/master/oss-licenses-plugin gradle에 등록 먼저 라이브러리를 프로젝트에 등록해줘야 한다. build.gradle(Project)에 다음과 같이 classpath를 추가한다. 가장 최신 버전은 0.10.6인데 이걸 가져오면 release 버전이 아니라면 확인할 수 없다. 따라서 debug 버전이라면 0.10.4로 테스트해보자. classpath "com.google.andro.. 2023. 7. 20. 내가 만들어본 KoreanNumberFormatter 라이브러리 개발 동기내부 라이브러리 클래스 중 PhoneNumberUtils가 존재하는데, 보통 번호 포맷을 적용하기 위해 쓰인다. 문제는 format 함수에 재난망 번호인 013 번호 체계가 존재하지 않아 포맷이 적용되지 않는 이슈가 있었다. 때문에 단말기의 지역이 한국인 경우 새로 만든 KoreanNumberFormatter 클래스를 이용해 번호를 반환해주기 위해 만들었다. 소개Android Studio에서 Java를 이용해 제작했으며 번호 체계는 전기통신번호관리세칙, 대한민국의 전화번호 체계, 나무위키 전화번호 를 참고해 구현했다.클래스는 KoreanNumbers, KoreanNumberFormatter, KoreanNumberEditText 총 3가지로 구성되어 있다.먼저 KoreanNumbers는 한국 번.. 2023. 7. 20. [Algorithm] [완전탐색] 최소직사각형 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때.. 2023. 7. 20. [Algorithm] 2022 KAKAO TECH INTERNSHIP 성격 유형 검사하기 문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동의 모르겠음 약간 동의 동의 매우 동의 각 질문은 1가지 지표로 성.. 2023. 7. 20. AudioRecord를 이용해 PCM 파일로 녹음해보기 시작이전 게시물에서는 AudioRecord가 무엇 인지에 대해 정리했습니다. AudioRecord의 개념과 구현 방식, 장점 등에 대해 알아보았는데, 이번 포스팅에선 AudioRecord API를 이용해 pcm 확장자로 녹음하는 것에 대해 정리하려 합니다.왜 하필 pcm 인가에 대해 궁금하실 수 있을 것 같아 말씀드리면 Andriod Developer에서 말하는 read 함수 모두 pcm 포맷을 파라미터로 넘기라고 되어 있으며 이것 때문인지 대다수의 예제 코드들이 pcm 확장자로 파일을 저장하는 것들이 였습니다. 따라서 기본기라고 생각하고 pcm 확장자 파일로 저장하는 포스팅을 한 후에 다른 확장자로 정의하는 것에 대해 정리할 예정입니다. 권한 요청이번 포스팅에서는 오디오 데이터를 기록하고 기록된 데이터.. 2023. 7. 20. 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음 반응형