[프로그래머스] 네트워크(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/43162풀이class Solution { public int solution(int n, int[][] computers) { int answer = 0; boolean[][] visited = new boolean[n][n]; for(int i = 0; i dfs를 이용해 간단하게 answer++만 처리해주는 방식으로 진행하였다. 문제 풀이/프로그래머스 2024.05.04
[프로그래머스] 게임 맵 최단거리(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/1844풀이import java.util.*;class Solution { int[] dx = {1, 0, -1, 0}; int[] dy = {0, 1, 0, -1}; public int solution(int[][] maps) { int answer = 0; int[][] visited = new int[maps.length][maps[0].length]; bfs(maps, visited); answer = visited[maps.length-1][maps[0].length-1]; .. 문제 풀이/프로그래머스 2024.05.04
[백준]3568번. iSharp(JAVA) https://www.acmicpc.net/problem/3568풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); String common = st.nextToken(); StringBuilder sb; while(st.hasMoreTokens()).. 문제 풀이/백준 2024.04.29
[프로그래머스] 모의고사(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42840import java.util.*;class Solution { public int[] solution(int[] answers) { int first = 0, second = 0, third = 0; for(int i = 0; i arr = new ArrayList(); int max = Math.max(first, second); max = Math.max(max, third); if(first == max) arr.add(1); if(second == max) arr.add(2); if(thir.. 문제 풀이/프로그래머스 2024.04.29
[프로그래머스] H-Index(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42747#qna풀이import java.util.*;class Solution { public int solution(int[] citations) { int answer = 0; Arrays.sort(citations); for(int i = 0; i = h) { answer = h; break; } } return answer; }} h번 이상 인용 되는 횟수를 구하기 위해 총 길이에서 빼고 이를 citations[i] 가 넘어가는 순간 정답을 리턴하게 된다.생각보단 문제를 정확히 이해하는게 꽤나 포.. 문제 풀이/프로그래머스 2024.04.28
[프로그래머스] 가장 큰 수(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42746풀이import java.util.*;public class Solution { public String solution(int[] numbers) { String[] arr = new String[numbers.length]; for (int i = 0; i (o2 + o1).compareTo(o1 + o2)); if (arr[0].equals("0")) { return "0"; } StringBuilder answer = new StringBuilder(); for (int i.. 문제 풀이/프로그래머스 2024.04.28
[프로그래머스] k번째 수(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42748풀이import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { ArrayList answerArr = new ArrayList(); for(int i = 0; i tempArr = new ArrayList(); for(int j = commands[i][0] -1; j 필요한 만큼만 어레이리스트에 값을 추가한 뒤에 Collections.sort로 정렬을 해준다.그냥 리스트와 다른 점은 Collections.sort()를 이용한다는 것! Arr.. 문제 풀이/프로그래머스 2024.04.26
[프로그래머스] 더 맵게(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=java풀이import java.util.*;class Solution { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue pq = new PriorityQueue(); for(int i = 0; i = 2){ int first = pq.poll(); if(first 우선순위 큐로 오름차순 정렬을 한 것을 앞에서부터 뽑아 생각한다.만약 큐 사이즈가 2이상(두개를 뽑아야 할 수 있기 때문에)라면 반복을 하면서 .. 문제 풀이/프로그래머스 2024.04.26
[프로그래머스] 다리를 지나는 트럭(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42583풀이import java.util.*;class Solution { public int solution(int bridge_length, int weight, int[] truck_weights) { Queue q = new LinkedList(); for(int i = 0; i 먼저 큐에 다리의 길이만큼 0을 채워준다.(0은 다리에서 빈 칸의 역할 겸 길이의 역할을 수행한다.) 이후 현재 다리의 무게, 시간, 그리고 트럭의 인덱스를 선언해준다. 이후 트럭의 인덱스가 끝까지 가기 전까지 while문을 반복해준다.1. 무조건 1초는 흐른다.2. 시간이 흐름에 따라.. 문제 풀이/프로그래머스 2024.04.25
[프로그래머스] 프로세스(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/42587풀이import java.util.*;class Solution { public int solution(int[] priorities, int location) { int[] arr = priorities.clone(); arr[location] += 10; Queue q = new LinkedList(); for(int i = 0; i 10 && temp - 10 == prior){ return answer + 1; }else if(temp == prior){ a.. 문제 풀이/프로그래머스 2024.04.25