본문 바로가기
728x90

🍪 Ect/#Study42

[99클럽 코테 스터디] 12일차 TIL 정렬 오늘의 문제는 프로그래머스 문자열 내림차순으로 배치하기   문제   문제 설명  주어진 s는 영어 대소문자로만 구성된 문자열입니다. 이 문자열을 내림차순 정렬해야 합니다. 단, 대문자는 소문자보다 작은 것으로 취급합니다. 예를 들어 s가 "BabA"라면 "baBA"가 반환됩니다.    문제 풀이 시간 권장 풀이 시간은 30분이었고, 저는 26분이 걸렸습니다.    문제 접근 방식우선, 아스키코드를 활용하면 풀이가 쉬울 것이라고 생각했습니다. 아스키코드로 변환하면 대문자가 소문자 보다 값이 작기 때문에 Arrays.sort()를 사용하면 문제에서 요구하는 대로 대문자가 소문자 보다 작은 내림차순 정렬 문자열이 나올 것이라고 생각했습니다.    문제 풀이import java.util.Arrays;import.. 2024. 8. 2.
[99클럽 코테 스터디] 11일차 TIL 정렬 오늘의 문제는 프로그래머스  정수 내림차순으로 배치하기  문제   문제 설명  주어진 long형 정수 n을 내림차순으로 정렬하여 반환하는 문제입니다. 예를 들어 n이 118372라면, 내림차순으로 정렬된 873211이 리턴되도록 하면 됩니다.    문제 접근 및 풀이 과정권장 풀이 시간은 30분이었고, 저는 19분이 걸렸습니다.오늘의 키워드는 정렬이었습니다. 그래서 미리 정렬 알고리즘에 대한 공부를 간단하게 하고 문제 풀이를 진행했습니다. 덕분에 문제를 어떻게 풀면 좋을지 손쉽게 떠올릴 수 있었습니다.    문제 접근 방식자바에서 배열을 정렬할 때 사용하는 메서드인 Arrays.sort()를 사용한 풀이를 생각했습니다. 먼저 주어진 n은 long 타입의 정수입니다. 하지만 long 타입의 숫자를 배열로 .. 2024. 8. 1.
[99클럽 코테 스터디] 10일차 TIL 힙 오늘의 문제는 LeetCode  Kth Largest Element in a Stream   문제  문제 설명 주어진 정수 배열에서 k번째로 큰 원소를 찾는 문제입니다. 여기서 k번째로 크다는 것은 인덱스가 아닌 정렬된 순서에서 k번째로 큰 원소를 의미합니다.  주어진 클래스를 완성해야 합니다. 1. kthLargest : 정수 k와 정수형 배열 nums가 매개변수로 받습니다. 예제와 같이 k와 nums가 주어졌을 때 k번째로 큰 정수를 반환하도록 stream으로 객체를 초기화 합니다. 2. add : 정수 val이 매개변수로 주어졌을 때, 이를 배열에 추가하고 k번째로 큰 수를 반환하도록 합니다.     문제 접근 및 풀이 과정권장 풀이 시간은 60분이었으나, 저는 75분이 걸렸습니다.리트코드 문제에 .. 2024. 7. 31.
[99클럽 코테 스터디] 9일차 TIL 힙 오늘의 문제는 Leetcode  Relative Ranks   문제    문제 접근 및 풀이 과정권장 풀이 시간은 30분이었고, 저는 30분이 걸렸습니다.    문제 접근 방식먼저 최대 힙을 통해 가장 높은 점수의 인덱스가 먼저 나오도록 정렬합니다. 그 다음 반복문을 통해 score의 인덱스를 최대 힙에 추가합니다. 마지막으로 조건문에서 각 순위를 인덱스를 사용해 결과를 출력할 배열 answer에 저장합니다.   문제 풀이import java.util.PriorityQueue;class Solution { public String[] findRelativeRanks(int[] score) { PriorityQueue maxHeap = new PriorityQueue((a, b) -> score.. 2024. 7. 30.
[99클럽 코테 스터디] 8일차 TIL 스택/큐 오늘의 문제는 프로그래머스  올바른 괄호   문제   문제 접근 및 풀이 과정오늘의 문제는 주어진 문자열에서 괄호가 올바르게 짝지어져 있는지를 검사하는 문제였습니다. 권장 풀이 시간은 30분이었고, 저는 36분이 걸렸습니다.오늘 문제의 키워드는 스택/큐 였기 때문에 저는 둘 중 스택을 사용해 문제를 해결해보았습니다.   문제 접근 방식스택을 사용해 괄호의 쌍이 올바른지 검사하는 방식으로 접근했습니다. 먼저 반복문을 통해 문자열을 순회하며 각 문자를 확인합니다. 열린 괄호는 스택에 추가하고 닫힌 괄호는 제거한 뒤 최종적으로 스택이 비어있지 않으면 false를, 그렇지 않으면 true를 반환하도록 설계했습니다.   문제 풀이import java.util.Stack; class Solution { boo.. 2024. 7. 29.
728x90