본문 바로가기

전체 글104

[PCCP모의고사2] 2번 신입사원 교육 JAVA 문제 (우선순위 큐) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 처음에는 Arrays.sort() 사용하여 매번 반복해서 정렬 후 앞 2개를 뽑아내서 더해줬었다. 시간초과 날 것 같긴했는데 역시나..ㅎ 제일 작은 수를 뽑아내기 위해 정렬말고 다른 자료 구조를 써야 효과적으로 뽑아낼 수 있을까 고민했는데 결국에는 구글링을 통해 Priority Queue(우선순위큐) 를 이용해야 한다는 것을 알게 되었다. 우선순위큐 자체는 자바에 내장되어 있는 자료구조를 바로 이용하면 되서 구현은 참 쉬웠지만 내부적인 원리를 이해하려면 조금 각잡고 트리 공부를.. 2024. 2. 19.
[PCCP모의고사2] 1번 실습용 로봇 JAVA 문제 (구현) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제에 나온대로 명령어 4개에 따른 이동값을 분기별로 처리해주었다. R : 오른쪽 90도 회전 L : 왼쪽 90도 회전 G : 한칸 전진 B : 한칸 후진 기본 세팅값은 direction = 0, (0,0) 위치이고 G와 B의 이동 수식은 배열을 이용하였다. G기준일 때 방향에 따라 아래와 같이 움직이고, B은 반대이므로 *-1 해주면서 그대로 배열을 사용했다. direction [0] [1] [2] [3] dx = {0, 1, 0, -1} dy = {1, 0, -1, 0} 소스 코드.. 2024. 2. 17.
[LeetCode] Minimize the Maximum Difference of Pairs 자바 문제 (이분탐색) Minimize the Maximum Difference of Pairs - LeetCode Can you solve this real interview question? Minimize the Maximum Difference of Pairs - You are given a 0-indexed integer array nums and an integer p. Find p pairs of indices of nums such that the maximum difference amongst all the pairs is minimized. Also, leetcode.com 문제 풀이 문제 해석 자체도 어려워서 많이 헤매었다. 구하고자 하는 문제를 정리해보자면 1. p개의 쌍 추출 ← 이때 .. 2023. 9. 8.
[프로그래머스] 행렬 테두리 회전하기 자바 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 처음에는 행렬이 1부터 순서대로 시작하니까 굳이 행렬을 계속 갱신하지 않고 풀이할 수 있지 않을까 생각했는데 그냥 직접 행렬을 rotation해주는게 답인 것 같아서 로테이션 함수를 따로 만들어주었다. ✔️ rotation함수 1. 행렬의 각 꼭짓점 부분을 t1, t2, t3, t4 변수를 이용하여 처음에 보관 2. temp변수를 이용하여 기존의 행렬값 보관 3. before변수를 이용해 temp값을 한 번 더 보관하여 다음 수를 갱신할 수 있도록 함 4. 이 때 flag변수로 반복문의 첫번째.. 2022. 10. 5.
[MBTree] 기록#2: 채팅 화면 구현 채팅창 화면 구현 시, 멀티뷰 타입 RecyclerView 구현 프로젝트 구현 중에, 위와 같이 받는 사람의 위치와 말풍선이 다르고, 질문창도 띄울 때 여러 개의 뷰를 이용하여 리사이클러뷰를 만들어야 해서 찾아보던 중 멀티뷰 타입으로 리사이클러뷰를 구현할 수 있음을 알게되었다. 2022. 8. 15.
[Compose Layout] Column, Row, Box 사용법 Column(){ ... }: 수직 배치를 지원하는 레이아웃 Row(){ ... } : 수평 배치를 지원하는 레이아웃 - modifier: 크기, 동작, 모양을 변경하거나 사용자의 입력 처리 변수 - horizontalArrangement(Arrangement.Horizontal) : 수평 배치를 설정하는 변수 Android Compose 튜토리얼 | Android 개발자 | Android Developers Jetpack Compose는 네이티브 Android UI를 빌드하기 위한 최신 도구 키트입니다. Jetpack Compose는 더 적은 수의 코드, 강력한 도구, 직관적인 Kotlin API로 Android에서의 UI 개발을 간소화하고 가속화합니다. 이 developer.android.com [C.. 2022. 7. 24.