Algorithm

    백준 1654 (랜선 자르기)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { /** * K: 랜선 개수 * N: 필요한 랜선 개수 * * N개를 만족하면서 랜선의 최대 길이를 구해야 하는 문제 * 시간 복잡도를 줄이기 위해 이분 탐색 알고리즘 필요 */ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] s = br.readLine().split(" "); int K = Integ..

    백준 1874 (스택 수열) - Java

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // stack 안에 넣을 동적 요소 int start = 0; StringBuilder sb = new StringBuilder(); Stack stac..

    백준 11723 (집합) - Java

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int M = Integer.parseInt(br.readLine()); int a = 0; StringBuilder sb = new StringBuilder(); for(int i=0; i

    백준 1620(나는야 포켓몬 마스터 이다솜)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] s = br.readLine().split(" "); // 도감 int N = Integer.parseInt(s[0]); // 문제 int M = Integer.pars..

    백준 18110 (solved.ac)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] arr = new int[n]; double sum = 0; for(int i=0; i

    자바 내림차순 정렬 하는 법

    자바에서 오름차순 정렬은 Arrays.sort([배열 주소값]) 만 하면 되지만 내림차순 정렬은 별도로 두번째 인자에 다른 요소를 더 추가해야 된다. 가끔씩 내림차순 정렬을 이용하다 보니 헷갈려서 이번에 정리해보는 시간을 가졌다. 내림차순 정렬 1. 기본 자료형(Primitive type) 기본 자료형은 아쉽게도 내림차순 정렬을 할 수 없다. 내림차순 정렬을 사용하기 위해서 객체형으로 변환해 주자. ex) int[] → Integer[], char[] → Charater[] 2. 객체형(Wrapper class) 2-1. Collections.reverseOrder() 메서드 사용 Integer[] arr = { 2, 63, 25, 23, 13, 36 }; Arrays.sort(arr, Collectio..

    완전 탐색 문제 유형(2) - 왕실의 나이트

    # 현재 나이트의 위치 입력 받기 input_data = input() row = int(input_data[1]) # ord : 하나의 문자를 인자로 받아 유니코드 정수를 반환 col = int(ord(input_data[0])) - int(ord('a')) + 1 # 나이트가 이동할 수 있는 8가지 방향 정의 steps = [(-2, -1), (-1, -2), (1, -2), (2, -1), (2, 1), (1, 2), (-1, 2), (-2, 1)] # 8가지 방향에 대하여 각 위치로 이동이 가능한지 확인 count = 0 for step in steps: # 이동하고자 하는 위치 확인 next_row = row + step[0] next_col = col + step[1] # 해당 위치로 이동이 ..

    완전 탐색 문제 유형(1) - 시각

    n = int(input()) count = 0 for i in range(n+1): for j in range(60): for k in range(60): # i, j, k를 하나의 문자열로 합친 후, # 합친 문자열에 3이 포함되어 있으면 true if '3' in str(i) + str(j) + str(k): count += 1 print(count)