본문 바로가기

Programmers

(188)
피보나치 수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Solution { public long solution(long n) { long answer = 0; long a = 0, b = 1, cnt = 1; while (cnt
N개의 최소공배수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public static int getLCM(int n, int m) { int a = n, b = m; // 유클리드 호제법 while (b != 0) { int r = a % b; a = b; b = r; } return n * m / a; } public int solution(int[] arr) { int answer = arr[0]; for (int i = 0; i
땅따먹기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.*; class Solution { int solution(int[][] land) { int answer = 0; int row = land.length, col = land[0].length; for (int i = 1; i
스킬트리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 class Solution { public int solution(String skill, String[] skill_trees) { int answer = 0; for (int i = 0; i
[3차] 파일명 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 import java.util.*; class Solution { // head 비교 후 삽입 public static void headCompare(ArrayList list, String s1) { String head1 = s1.split("\\d")[0].toLowerCase(); int num1 = getFirstNumber(s1); for (int i = 0; i
예상 대진표 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Solution { public int solution(int n, int a, int b) { int answer = 1; int num1 = Math.min(a, b); int num2 = Math.max(a, b); // 서로 붙기 전 까지 수행 while ((num1 + 1) / 2 != (num2 + 1) / 2) { num1 = (num1 + 1) / 2; num2 = (num2 + 1) / 2; answer++; } return answer; } } Colored by Color Scripter cs 2로 계속 나눠서 구하였다.
괄호 변환 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 class Solution { public static String Recursion(String u, String v) { int left = 0, right = 0; StringBuilder sb = new StringBuilder(); if (u.length() == 0) return ""; // 문자열 u, v를 분리 for (int i = 0; i
튜플 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.*; class Solution { public int[] solution(String s) { int[] answer = {}; // 숫자 분리 String[] arr = s.split("\\{\\{|\\}\\}|\\},\\{|,"); Map map = new HashMap(); // 숫자 빈도 저장 for (int i = 1; i