알고리즘
-
[Algorithm/Java] 백준 12100 2048(Easy)알고리즘 2022. 3. 16. 15:12
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 백준 12100번 2048(Easy) 문제 난이도 : G2 알고리즘 : 구현, 백트래킹 N이 최대 20인 NxN 배열에서 최대 5번 이동해서 만들 수 있는 가장 큰 블록의 값을 구하는 프로그램 상, 하, 좌, 우 4개의 경우로 5^4 -> 2^10 이므로 1024*20*20 이 정도 시간 복잡도 일거고 그냥 구현 문제구나 싶었다. 그렇게 잘 푼 풀이는 아닌 것 같지만 ..
-
[Algorithm/Java] 백준 17500 국경알고리즘 2022. 2. 7. 18:41
https://www.acmicpc.net/problem/17500 17500번: 국경 만약 조건을 만족하는 국경이 존재하지 않는다면 첫 번째 줄에 "no" 를 출력하고 더 이상 아무것도 출력하지 않아야 합니다. 조건을 만족하는 국경이 존재한다면 첫 번째 줄에 "yes" 를 출력하고 www.acmicpc.net 보통 배열은 칸으로 움직이는데 이 문제는 꼭지점,선분을 이어서 움직여야해서 처음에 어떻게해야할지 고민이었다. 일단 N이 최대가 4여서 모든 경우를 다 해보면 될 것 같았다. N*N 배열을 (2*N+1)*(2*N+1)로 늘려서 나라가 되는 부분과 국경과 될수 있는 부분을 모두 배열로 치고 나라 부분을 경계로 두고 목적지 까지 갈 수 있는 모든 경로를 백트래킹으로 탐색했다. 나라부분이 벽인(visit..
-
[Algorithm/Java] 백준 1561 놀이공원알고리즘 2022. 1. 30. 21:48
/* 백준 1561번 놀이공원 문제링크 https://www.acmicpc.net/problem/1561 유형 : 이분 탐색 */ package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Play { static int N, M; static int[] time; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(..
-
[Algorithm/Java] 백준 1948 임계경로알고리즘 2022. 1. 22. 22:11
https://everenew.tistory.com/128 [임계 경로 알고리즘] Critical Path Method (백준-1948 해설) 문제 https://www.acmicpc.net/problem/1948 1948번: 임계경로 첫째 줄에 도시의 개수 n(1 ≤ n ≤ 10,000)이 주어지고 둘째 줄에는 도로의 개수 m(1 ≤ m ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지.. everenew.tistory.com 위상정렬 순서가 정해져있는 작업을 차례로 수행해야할 때 순서를 결정해주기 위해서 사용되는 알고리즘 indegree[i]==0인 작업만 queue에 넣어주며 다음 작업을 찾고, 다시 indegree가 0이되는게 있으면 queue에 넣고..반복 시간복잡도는 O(V+E)..
-
[Algorithm/Java] 백준 13334 철로알고리즘 2022. 1. 12. 21:27
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class RailRoad { static int N; static int D; static class Pos { int home; int office; Pos(int home, int office) { this.home= home; this.office = office; } } static ArrayList list; static PriorityQueue pq; public static void main(String[] args) throws IOException { BufferedReade..
-
[Algorithm/Java] dev matching : 다단계 칫솔 판매알고리즘 2021. 7. 31. 04:37
import java.util.HashMap; class Solution { public int[] solution(String[] enroll, String[] referral, String[] seller, int[] amount) { HashMap list = new HashMap(); int[] recommander = new int[enroll.length]; int[] answer = new int[enroll.length]; for(int i=0; i
-
[Algorithm/Java] kakao 2021 광고 삽입알고리즘 2021. 7. 31. 04:36
class Solution { public int getTimesecondsByString(String time){ String[] hms = time.split(":"); int timeseconds = Integer.parseInt(hms[0])*3600 + Integer.parseInt(hms[1])*60 + Integer.parseInt(hms[2]); return timeseconds; } public String getStringByTimeseconds(int time){ int h = time/3600; int m = (time%3600) / 60; int s = time%60; String hour = h
-
[자료구조] 링크드리스트 구현방식알고리즘 2021. 7. 14. 00:42
head실제노드실제노드tail 이런식으로 하는방식을 더미라고 부른다. head(실제노드)실제노드tail(실제노드) 이런식으로 하는방식도 있음 -> 이게 if문으로 null인지를 확인하는 조건이 많아질수가 있다. http://sjkitpro.blogspot.com/2018/07/linked-list-dummy.html Linked List 구현 시, dummy 노드의 용도 자료구조 책에는 항상 리스트가 나오고, 서 적마다 리스트를 구현하는 방법이 조금씩 다르다. 여기서 다르다는 표현은 dummy 노드를 쓰느냐 마느냐 이다. 어떤 서적은 dummy 노드를 쓰지만, 어떤 sjkitpro.blogspot.com