본문 바로가기

알고리즘 algorithms10

[백준 16637 Java] 괄호 추가하기 import java.util.*; import java.lang.*; import java.io.*; class Main { /* base_pan:계산할 숫자들의 Array base_pan_sign:계산할 부호(+,-,*) input_sign_cnt:계산할 부호의 개수(계산 횟수) result:Int로 표현 가능한 최소의 정수를 초기값으로 가지며, 정답을 저장 */ static int[] base_pan; static String[] base_pan_sign; static int input_sign_cnt; static int result = Integer.MIN_VALUE; /* calc(a, sign_index, b):a와 b를 base_pan_sign[sign_index] 계산해 calc_resu.. 2021. 1. 12.
[백준 2638 Java] 치즈 ㅇㅈㅇ 치즈 안쪽은 안녹는 줄 나중에 앎 import java.util.*; import java.lang.*; import java.io.*; class QueData { int i; int j; public QueData(int i, int j) { this.i = i; this.j = j; } } class Main { static int N; static int M; static int[][] base_pan; static int[][] temp_pan; static boolean[][] visit_pan; static int[] move_1 = {-1,1,0,0}; static int[] move_2 = {0,0,-1,1}; static Queue que = new LinkedList(); pu.. 2020. 10. 27.
[백준 10058 Java] 마법사 상어와 파이어스톰 회전하기 전 : 0 0 0 1 0 2 0 3 0 4 0 5 1 0 1 1 1 2 1 3 1 4 1 5 2 0 2 1 2 2 2 3 2 4 2 5 3 0 3 1 3 2 3 3 3 4 3 5 4 0 4 1 4 2 4 3 4 4 4 5 5 0 5 1 5 2 5 3 5 4 5 5 회전한 후 : 2 0 1 0 0 0 2 3 1 3 0 3 2 1 1 1 0 1 2 4 1 4 0 4 2 2 1 2 0 2 2 5 1 5 0 5 5 0 4 0 3 0 5 3 4 3 3 3 5 1 4 1 3 1 5 4 4 4 3 4 5 2 4 2 3 2 5 5 4 5 3 5 첫번째 회색 네모 제일 아래 흰색 네모 제일 위 흰색 네모 마지막 회색 네모 특징 아래로 0번, 오른쪽으로 0번 감 아래로 1번 L칸, 오른쪽으로 0번 감 아래로 0번.. 2020. 10. 27.
[백준 2468 Java] 안전영역 import java.util.*; public class Main { static int[][] base_pan; // input으로 주어지는 행렬을 저장한다. static boolean[][] visit_pan; // base_pan의 방문여부를 체크한다. static int area_cnt; static Queue que; static int N; static int[] move_1 = {-1,1,0,0}; static int[] move_2 = {0,0,-1,1}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = Integer.parseInt(sc.next()); que = new LinkedList.. 2020. 10. 20.
[백준 9019 Python] DSLR ^^ python3 : 시간초과 pypy3 : 통과 이제부터는 자바로 코딩하기로 다짐했다^^ from collections import deque import math def bfs(que) : global end_no global finded_dap while( len(que)>0 ) : now_no = que.popleft() if finded_dap : break if( now_no==end_no ) : print(visit_no[now_no]) finded_dap = True break else : for i in range(4) : if(i==0) : # D temp_no = now_no*2 temp_no = temp_no % 10000 if( (visit_no[temp_no]!='')|(tem.. 2020. 10. 20.
[백준 7612 Python 파이썬] SSSP_다익스트라(Dijkstra) 이 사람은 상을 받아 마땅하다 temp = '''3 2 1 4 2 1 0 1 1 2 2 0 1 1 0 '''.split('\n') # 또 다른 예제 # temp = '''5 # 2 2 6 3 3 # 1 0 3 # 1 3 2 # 2 1 1 2 1 # 2 1 4 3 2 # 3 # 4 1 # 4 0 # 4 2 # '''.split('\n') N = int(temp[0]) del temp[0] # N = int(input()) base_pan = [] for i in range(N) : base_pan.append([1000000000]*N) for i in range(N) : temp_G = list(map(int, temp[0].split())) del temp[0] # temp_G = list(map(in.. 2020. 10. 13.