목록Java (133)
코딩응급실
import java.util.*;class Solution { public int solution(int N, int[][] road, int K) { // 1. 그래프 생성 (인접 리스트) List[] graph = new ArrayList[N + 1]; for (int i = 1; i (); } for (int[] r : road) { int a = r[0], b = r[1], c = r[2]; graph[a].add(new int[] {b, c}); graph[b].add(new int[] {a, c}); } // 2. 다익스트라 알고리즘 ..
class Solution { public String solution(int n) { StringBuilder answer = new StringBuilder(); // StringBuilder 사용 String[] numbers = {"4", "1", "2"}; // 124 나라 숫자 배열 while (n > 0) { int remainder = n % 3; // 나머지 계산 n = n / 3; // 몫 계산 if (remainder == 0) { // 나머지가 0일 경우 n -= 1; // 몫에서 1 감소 } answer.insert..
import java.util.*;class Solution { public int solution(String[][] book_time) { // 1. 이벤트 리스트 생성 List events = new ArrayList(); for (String[] time : book_time) { int start = convertToMinutes(time[0]); int end = convertToMinutes(time[1]) + 10; // 청소 시간 추가 events.add(new int[] {start, 1}); // 입실 이벤트 events.add(new int[] {e..
import java.util.*;public class Solution { public static int solution(int storey) { int answer = 0; while (storey > 0) { int remainder = storey % 10; // 1의 자리수 추출 if (remainder > 5) { // 5보다 크면 올림 answer += (10 - remainder); // 올림에 필요한 횟수 추가 storey = storey / 10 + 1; // 올림 처리 } else if (remain..
class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0) return ""; // 첫 번째 문자열을 기준으로 삼습니다. String prefix = strs[0]; // 첫 번째 문자열과 배열의 나머지 문자열들을 비교합니다. for (int i = 1; i < strs.length; i++) { // 현재 문자열에서 기준이 되는 접두사를 찾을 때까지 접두사의 길이를 줄입니다. while (strs[i].indexOf(prefix) != 0) { // 접두사를 하나씩 줄여나갑니다. prefix = prefix.substring(0, prefix.length() - 1); // 공통 접두사가 없으면 빈 문..
import java.util.*; class Solution { public int romanToInt(String s) { // 로마 숫자를 키로 하고 해당하는 정수 값을 값으로 하는 맵을 생성합니다. Map romanMap = new HashMap(); romanMap.put('I', 1); romanMap.put('V', 5); romanMap.put('X', 10); romanMap.put('L', 50); romanMap.put('C', 100); romanMap.put('D', 500); romanMap.put('M', 1000); int total = 0; // 최종 결과를 저장할 변수입니다. int prevValue = 0; // 이전 문자의 값입니다. 초기값은 0입니다. // 주어진 문..
import java.util.*; class Solution { public int[] twoSum(int[] nums, int target) { HashMap map = new HashMap(); for (int i=0; i
import java.util.*; class Solution { public boolean isPalindrome(int x) { // 음수거나, 마지막 숫자가 0이면서 0이 아닌 경우는 팰린드롬이 될 수 없습니다. // 1220 reversed) { reversed = reversed * 10 + x % 10; x /= 10; } // 짝수 자리수의 숫자는 완전히 뒤집힐 때, 홀수 자리수의 숫자는 중간 숫자를 제외하고 뒤집힐 때 // 두 수가 같거나, reversed에서 마지막 숫자를 제거한 것과 x가 같으면 팰린드롬입니다. return x == reversed || x == reversed / 10;//123일 때) x=12, 123/10=12 } public static void main(Stri..