일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드 Sunflower 스터디
- flutter network call
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 안드로이드 에러 해결
- Fragment
- 막무가내
- 막내의 막무가내
- 막내의막무가내 플러터
- 막내의막무가내 목표 및 회고
- 안드로이드 sunflower
- 프로그래머스 알고리즘
- 막내의 막무가내 알고리즘
- 막내의막무가내 프로그래밍
- 부스트코스
- 막내의막무가내 일상
- 주엽역 생활맥주
- 막내의막무가내 안드로이드
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 SQL
- 막내의막무가내 코틀린
- 프래그먼트
- 막내의막무가내 알고리즘
- 안드로이드
- 막내의막무가내 코볼 COBOL
- 부스트코스에이스
- 막내의막무가내
- 주택가 잠실새내
- 2022년 6월 일상
- 막내의막무가내 rxjava
- 막내의막무가내 플러터 flutter
- Today
- Total
목록알고리즘 (200)
막내의 막무가내 프로그래밍 & 일상

programmers.co.kr/learn/courses/30/lessons/49191?language=kotlin 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 프로그래머스 LV 3 문제 순위를 풀어보았습니다. ㅎㅎ 권투 선수간 누가 누굴 이겼는지 알 수 있는 배열이 주어지는데 이걸 토대로 몇명의 권투 선수 순위를 확정지을 수 있는지 구하는 문제였습니다. 이전에 백준에서 풀었던 저울이라는 문제와 비슷했고 똑같이 N:N의 관계를 파악하기 위해 플로이드 워셜 알고리즘을 사용해서 풀었습니다. youngest-programming.tistory.com/535?category=1013047 [알고리즘] 백준 10159 저..

www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net 백준 다익스트라 유형의 10282번 해킹 문제를 풀어봤습니다. ㅎㅎ 다익스트라의 기본 유형 문제였습니다. 풀이는 다음과 같습니다. [Java] import java.util.*; public class Main { private static int T; //테스트 케이스 수 private static int N; //컴퓨터 개수 private static int D; //의존성 개수 private static in..

www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 백준 백트래킹 유형에서 외판원 순회2 라는 문제를 풀어봤습니다. ㅎㅎ N개의 도시를 특정 시작 도시에서 출발하여 다시 첫 도시로 순회하는 최단 경로를 구하는 문제입니다. 방문한 도시는 다시 못가고요. 백트래킹을 사용하면 되고 매개변수로 깊이, 시작도시, 이전방문도시, 총 경로비용, 방문 여부를 사용해주면 됩니다. 풀이는 다음과 같습니다. [Java] import ja..

programmers.co.kr/learn/courses/30/lessons/1844?language=java 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 오랜만에 프로그래머스 문제를 풀어봤습니다. ㅎㅎ 단순한 BFS 문제입니다. 그러므로 풀이생략 !! [Java] import java.util.LinkedList; import java.util.Queue; class Solution { private static boolean[][] isVisite..

www.acmicpc.net/problem/10423 10423번: 전기가 부족해 첫째 줄에는 도시의 개수 N(1 ≤ N ≤ 1,000)과 설치 가능한 케이블의 수 M(1 ≤ M ≤ 100,000)개, 발전소의 개수 K(1 ≤ K ≤ N)개가 주어진다. 둘째 줄에는 발전소가 설치된 도시의 번호가 주어진다. 셋째 www.acmicpc.net 최소신장트리 유형 문제를 풀어봤습니다. ㅎㅎ 오타하나떄문에 시간을 많이 날렸습니다. ㅠㅠ ;; 문제를 간단히 설명하면, 발전소에서 전기가 나오고 도시들이 모두 전기를 저렴하게 연결하는 비용을 구하면 됩니다. 크루스칼 알고리즘을 사용하여 풀면됩니다. 기본적인 최소신장트리 문제와 다른게 있다면, 모든 도시들을 그냥 싼 비용으로 연결하는게 아니라 여러개의 발전소가 있고 발전..

www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1≤n≤50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 백준 다익스트라 유형에서 한 문제를 골라 풀어봤는데 BFS에 가까운 문제였습니다. ㅎㅎ 문제에 대해 간략히 설명하면, 검은색방은 지나갈 수 없고 흰색방은 지나갈 수 있는데, (0,0)에서 (N,N) 까지 가는데 최소한의 검은색-> 흰색 방으로 변경해야 하는 개수를 구하는 문제였습니다. 해당 지점까지 오는데 색을 바꾼 값을 담는 배열인 distances - distances는 가장 큰 값(INF)로 초기화를 해줍니다. ..

www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 백준 다익스트라 유형을 풀어봤습니다. ㅎㅎ 어렸을때 닌텐도로 젤다의 전설 게임을 한 경험이 있는데 문제를 읽으며 젤다가 그 주인공이 아니라 공주였다는 사실을 저도 처음알았네요 ;; 문제에 대해 간략히 쉽게 설명하면 N*N 맵이 있고 (0,0) 에서 (N,N) 까지 가는 최소비용을 구하는 문제였습니다. 이전에 ArrayList 배열 즉 인접리스트를 사용하여 풀었던 다익스트라 문제와 다르게 BFS..

www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 백준 다익스트라 유형의 특정 거리의 도시 찾기 문제를 풀어봤습니다. ㅎㅎ 특정 경로에서의 최단경로 즉 1:N의 최단 경로를 구하면 되는 문제이므로 다익스트라 알고리즘을 사용하면 됩니다. (정점 개수가 V, 간선 개수가 E일 때 시간복잡도는 O(ElogV)입니다.) 풀이는 다음과 같습니다. [Java] import java.util.Arra..

www.acmicpc.net/problem/10159 10159번: 저울 첫 줄에는 물건의 개수 N 이 주어지고, 둘째 줄에는 미리 측정된 물건 쌍의 개수 M이 주어진다. 단, 5 ≤ N ≤ 100 이고, 0 ≤ M ≤ 2,000이다. 다음 M개의 줄에 미리 측정된 비교 결과가 한 줄에 하나씩 www.acmicpc.net 백준 플로이드 워셜에서 간단한게 복습겸 정답률 괜찮은 문제를 골라 풀어봤습니다. ㅎㅎ 그러나 정답률은 60퍼인데 플로이드 워셜로 어떻게 풀지 생각이 잘 안나고 애를 먹은 문제였습니다. 후..(solved.ac 티어도 봤는데 저한텐 아직 어려운 골3 문제였습니다. ㅠ ) 이전 플로이드 문제들에서 플로이드 알고리즘 사용시 Math.min() 에 너무 익숙해져서 시야가 좁아진 것도 한몫 했다..

www.acmicpc.net/problem/1956 1956번: 운동 첫째 줄에 V와 E가 빈칸을 사이에 두고 주어진다. (2 ≤ V ≤ 400, 0 ≤ E ≤ V(V-1)) 다음 E개의 줄에는 각각 세 개의 정수 a, b, c가 주어진다. a번 마을에서 b번 마을로 가는 거리가 c인 도로가 있다는 의 www.acmicpc.net 백준 플로이드 워셜 알고리즘 유형인 운동 문제를 풀어봤습니다. ㅎㅎ 마을과 연결된(단방향) 도로가 있는데 모든 마을을 최소거리(비용)로 도는 비용을 출력해야합니다. (사이클이 존재하지않는다면 -1 출력) 플로이드 유형을 골라푼만큼 플로이드를 사용해서 모든 정점 사이의 최단경로를 구해서 풀이했습니다. 또한 이전문제들과 다르게 자기 자신에 대한 경로를 0이 아닌 INF로 세팅하여 ..

www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 백준 그리디 단계별풀기에서 마지막 문제를 안풀어서 이번에 풀어봤습니다. 문제에 대해 간략히 설명하면, 기름값이 다른 도시들이 있고 각 도시는 일렬로 다른거리로 연결되어 있습니다. 도시에 도착했을때 기름*km수 만큼 기름을 채울 수 있다. 마지막도시까지 가는데 필요한 최소 기름값을 출력하면 됩니다. 풀이 방법은 기름값이 이전 도시보다 더 낮은 경우 더 낮은 기름값으로 다음 도시까지의 거리만큼 기름을..

www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 백준 그리디유형의 문제인 뒤집기를 풀어봤습니다. ㅎㅎ 연속된 숫자를 한번에 뒤집을 수 있는데요 (0 or 1) 최소한으로 뒤집어서 모두 같은 숫자를 만들어야합니다. 풀이방법은 0과 1의 연속된 숫자의 묶음이 더 적은 쪽의 묶음의 개수를 답으로 출력해주면 됩니다. 풀이는 다음과 같습니다. [Java] import java.util.Scanner; class Main { private static String S;..

www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 백준 투포인터 유형에 있는 두 용액이라는 문제를 풀어봤습니다. ㅎㅎ 두 개의 용액을 골라 합이 0하고 가장 가까운 두 용액을 출력해주면 되는 문제입니다. 풀이방법을 간단히 설명하면 1. 용액 배열 정렬 2. 양쪽 끝으로 투 포인터 탐색을 해주면 됩니다. 가장 0하고 가까운 값이 나오면 정답을 갱신해주고 둘의 차이가 양수면 오른쪽 포인터를 더 작은 값을 가진 왼쪽으로 움직음으로써..

www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 백준 알고리즘 분류에서 투포인터 유형의 두 번째 문제인 부분합을 풀어봤습니다. ㅎㅎ 투포인터 유형인 만큼 완탐으로 풀면 시간초과가 나게됩니다. N개의 수열이 있는데 연속된 수들의 합(부분합) S 이상인 것 중 가장 짧은 길이를 구하는 문제였습니다. 투포인터는 다음과 같이 나눴습니다. 부분합이 S보다 적은 경우는 right를 오른쪽으로 이동 더 큰 경우는 left를 왼쪽으로 이동시킴으로써 더 적은 ..

www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 백준 2589 보물섬 문제를 풀어봤습니다. ㅎㅎ 백준 브루트포스 유형에서 한 문제를 골라풀었는데 BFS 기본 문제였습니다. 땅끼리 거리가 가장 큰 곳이 보물이 숨어있는 땅이므로 땅인 곳을 모두 BFS 탐색돌려서 가장 먼 경로를 출력하면됩니다. 코틀린의 coerceAtLeast() 라는 함수를 알 수 있던 문제였습니다. 자바에서는 최대값 = Math.Max( 최댓값, 숫자2 ) 이렇게 최댓값을 갱신하지만 코틀린에서는..