728x90
👈 이전글
[99클럽] 99클럽 코테 스터디 31일차 TIL + Array, char, int, 형 변환
99Club 2기 | Java | Beginner
🗝 오늘의 학습 키워드 : Array Sorting Hash Table Divide and Conquer Heap (Priority Queue) Bucket Sort Counting Quickselect Math Geometry Number Theory
📚 공부한 내용 본인의 언어로 정리하기
- 비기너 (🙋 내가 발표 🎤) : 2733. Neither Minimum nor Maximum
class Solution { public int findNonMinOrMax(int[] nums) { int answer = -1; Arrays.sort(nums); int min = nums[0]; int max = nums[nums.length - 1]; for (int i = 1; i < nums.length - 1; i++) { if (nums[i] > min && nums[i] < max) { answer = nums[i]; break; } } return answer; } }채점 결과

- 미들러 : 347. Top K Frequent Elements
import java.util.Arrays; class Solution { public int[] topKFrequent(int[] nums, int k) { List<Integer> li = Arrays.stream(nums).boxed().collect(Collectors.toList()); Arrays.sort(nums); int[] unique = Arrays.stream(nums).distinct().toArray(); int[][] cnt = new int[unique.length][2]; int idx = -1; int pre = 10001; for (int n : nums) { if (n == pre) { cnt[idx][1]++; } else { pre = n; idx++; cnt[idx][0] = n; cnt[idx][1]++; } } Arrays.sort(cnt, (o1, o2) -> o2[1] - o1[1]); int[] answer = IntStream.range(0, k).map(i -> cnt[i][0]).toArray(); return answer; } }채점 결과

- 챌린저 (🙋 내가 발표♀🎤) : 2280. Minimum Lines to Represent a Line Chart
class Solution { public int minimumLines(int[][] stockPrices) { Arrays.sort(stockPrices, (o1, o2) -> o1[0] - o2[0]); int answer = 0; int[] pre = stockPrices[0]; long[] preSlope = new long[2]; for (int i = 1; i < stockPrices.length; i++) { int[] cur = stockPrices[i]; long[] slope = new long[2]; slope[0] = cur[0] - pre[0]; slope[1] = cur[1] - pre[1]; if (i == 1 || preSlope[0] * slope[1] != preSlope[1] * slope[0]) { answer++; preSlope = slope; } pre = cur; } return answer; } }채점 결과

⌛ 오늘의 회고
오늘은 비기너, 미들러, 챌린저 문제를 모두 풀었다.
믿기지 않아!
세 레벨을 다 풀었던 적은 없는데~~~!!!🥳🎉
너무 기분이 좋다.
풀이 글은 쓰기 귀찮고
그거 쓰는 시간에 차라리 다른 공부를 더 하고싶어져서
내가 쓴 코드와 채점 결과만 TIL에 붙여넣기 하기로 했다.
오늘은 챌린저 문제까지 모두 풀었으니
챌린저 레벨까지 발표 내용을 들어도 이해할 수 있을 것 같다.
그동안은 미들러까지 풀이 듣는게 최선이었는데
너무 기분이 좋다.
오늘은 온라인 스터디 하는 날인데 비기너, 챌린저 문제를 발표하는 분이 없어서
내가 발표했다.😝
아직도 긴장감이 느껴지는 것 같다.
챌린저 문제는 코드장님 풀이가 보고 싶었는데
따로 코드를 보여주시지는 않고 내 풀이에 대한 설명만 해 주셔서 약간 아쉬웠다.
"기울기 문제는 나누고 싶어지지만 절!대!로! 나누면 안된다!"라고 하셨다.
마음 속에 깊이 세겨 두어야겠다.
그러면 오늘 발표를 2번 했으니 결석 면제권 2장 받는건가?
결석 면제권은 실물을 본 적이 없어서 내가 몇장 가지고 있는지 모르겠다.
그래도 만약의 사태를 대비할 카드가 든든한 것이 좋으니
마음이 편안해 지는 기분이랄까?
앞으로도 기회가 생기면 발표 자주해야지!!
특히, 오늘은 비기너인데 챌린저 발표를 해 봐서 너무 기분이 좋았다!!!!
💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📚 공부한 내용 본인의 언어로 정리하기의 연습문제 풀이 링크🔗를 참고하세요.
(클릭해서 이동⤴️)
💬 무엇을 새롭게 알았는지
- 데이터 타입을 int만 사용하는 것이 아니라 정수형의 데이터 타입으로 long을 사용해 보았다.
- 이차원 배열을 사용해 보았다.
- 람다식을 이용한 정렬을 해 보았다.
💭 내일 학습할 것은 무엇인지
자바 | 비기너 문제 풀이
📚 참고 자료
👉 다음글
728x90