전체 글 62

[프로그래머스/Java] 42626번 - 더 맵게

문제 & 난이도우선순위 큐난이도 : 레벨 2 풀이package sorting;import java.util.PriorityQueue;public class Solution { public int solution(int[] scoville, int K) { int answer = 0; //우선순위 큐 PriorityQueue pq = new PriorityQueue(); for (int i : scoville) { pq.add(i); } while(pq.peek()  알게된 것 & 느낀 점 이번 코딩테스트 스터디 주차 주제가 "정렬"이라 Arrays를 사용해서 풀어야지 하고 정렬을 계속해서 시킨 뒤, 사용한..

[프로그래머스/Java] 42746번 - 가장 큰 수

문제 & 난이도정렬난이도 : 레벨2 풀이package sorting;import java.util.Arrays;public class Programmers42746 { public String solution(int[] numbers){ String answer = ""; String[] arr = new String[numbers.length]; //숫자를 문자열로 반환하여 배열에 저장 for(int i=0; i 자리 변화x Arrays.sort(arr, (o1,o2)-> -(o1+o2).compareTo(o2+o1)); //문자 붙이기 for (String s : arr) { answer ..

[백준/Java] 1083번 - 소트

문제 & 난이도 정렬 알고리즘난이도 : 골드 4 풀이 📄 (잘못된 코드) 정렬 유형 생각 안하고 푼 첫 코드package sorting;import java.util.*;//사용한 알고리즘 - 사전순으로 가장 뒷서는 것을 출력하려면 맨 앞에서부터 비교하면서 정렬해야 함public class Beakjoon1083 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //첫째줄 : 크기 N int N = sc.nextInt(); //크기 N인 배열 생성 int[] arr = new int[N]; //배열 안에 원소 넣기 fo..

[알고리즘] 정렬 (Sorting)

📍정의정렬 : 특정한 기준에 맞게 순서대로 나열하는 방법  📍주요 정렬 알고리즘 ( 로직 & 예시 코드 ) 1. 버블 정렬 ⚙️ 로직인접한 두 요소를 비교하여 크기 순서가 잘못되어 있을 경우, 위치를 바꾼다한 번의 패스가 끝나면 가장 큰 값이 마지막에 위치하여, 남은 요소들에 대해 반복한다.시간 복잡도 : O(n^2)단순, 비효율적 → 작은 데이터셋에 적합하다. 📄 유형 이해 코드public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { // 위치 바꾸기 ..

[알고리즘] 시간 복잡도 (Time Complexity)

개요 코딩테스트 스터디원의 풀이를 보는데 어느 것이 더 프로그래밍 쪽으로 나은 풀이인지 파악이 어려워 기준을 파악해 보고자, 효율적인 알고리즘을 선택하고자 찾아본 개념  📍정의시간 복잡도 : 알고리즘의 입력 크기에 따라 프로세스가 실행되는 데 걸리는 시간을 수치화 한 것- 컴퓨터의 성능에 따라 실행시간은 달라질 수 있기에, 명령문의 실행 빈도수를 계산하여 실행 시간을 구한다.   📍시간복잡도 분석법빅오 표기법 (최악의 경우): 최악의 입력이 주어졌을 경우의 알고리즘이 수행하는 연산의 수 측정세타 표기법 (평균의 경우) : 모든 입력이 주어졌을 떄의 평균으로 걸리는 시간 측정오메가 표기법 (최선의 경우) : 가장 유리한 입력이 주어졌을 때의 알고리즘이 수행하는 연산의 수 측정  📍빅오 표기법(Big-..

[Swing] 사용자 정의 효과음 메서드

개요 포켓몬스터 게임 개발 중 버튼 클릭 시 효과음을 구현하고 싶어 찾아보게 된 메서드.Java의 javax.sound.sampled 패키지에는 오디오 재생을 위한 기능은 내장되어 있지만, 한 줄로 오디오를 재생하는 메서드는 내장되어 있지 않기 때문에 사용자 정의 메서드 playSound를 직접 작성해야 사용하기 편하다고 한다. 📍정의playSound : 특정 오디오 파일을 입력받아 재생하는 역할을 하는 사용자 정의 메서드.사용자 정의 메서드로, 필요에 따라 이름은 변경 가능  📍역할버튼 클릭, 알림, 경고음 등을 구현 📍필요 라이브러리import javax.sound.* 📍playSound 메서드 구현 예시import javax.sound.sampled.AudioInputStream;import..

[백준/Java] 11000번 - 강의실 배정

문제 & 난이도그리디 알고리즘난이도 : 골드 5 풀이package greedy;import java.util.*;public class Beakjoon11000 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //첫째 줄 : 수업의 개수 N int N = sc.nextInt(); //수업 시간을 저장할 배열 int[][] timesheet = new int[N][2]; //이후 N개의 줄 : 시작 시간과 끝나는 시간 for (int i = 0; i () { @Override pub..

[백준/Java] 9012번 - 괄호

문제 & 난이도스택 구조난이도 : 실버 4 풀이public class beakjoon9012 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); sc.nextLine(); for(int i = 0; i stack = new ArrayDeque(); for(int j = 0; j  : 코딩테스트 스택 구조의 빈출 유형으로, 열린 괄호를 만나면 스택에 넣고 닫힌 괄호를 만나면 스택에서 열린 구조를 빼는 알고리즘. 최종적으로 스택이 비어있다면 yes, 남아있다면 no반환 알게 된 것 & 느낀 점  -   ..

[Swing] JOptionPane 팝업 창 클래스

📍 정의JOptionPane : 확인/경고/입력 등의 대화 상자를 제공하는 팝업 창을 만들 수 있는 클래스  📍 주요 기능확인 대화 상자 : 사용자의 선택을 확인하는 대화 상자int result = JOptionPane.showConfirmDialog( frame, "이 포켓몬을 선택하시겠습니까?", "포켓몬 선택", JOptionPane.YES_NO_OPTION);if (result == JOptionPane.YES_OPTION) { System.out.println("포켓몬을 선택했습니다.");} else { System.out.println("포켓몬 선택을 취소했습니다.");}메시지 대화 상자 : 설정한 메시지를 사용자에게 보여주는 용도로 사용되는 대화 상자..