알고리즘/백준 62

[BaekJoon] 백준 7568번 _ 덩치 for Python

https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net n = int(input()) bulk = [list(map(int, input().split())) for _ in range(n)] answer = [] for bulk_ in bulk: count = 0 for compare in bulk: if bulk_[0] < compare[0] and bulk_[1] < compare[1]: count += 1 answer.append(c..

알고리즘/백준 2022.04.14

[BaekJoon] 백준 8958번 _ OX퀴즈.Python

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 구현 문제 조지기 해야지 T = int(input()) for _ in range(T): input_ = list(input()) answer = 0 index = 1 O_list = [] for i in input_: stack = [] stack.append(i) if(stack[-1] == 'O'): answer += index index += 1 else: index =..

알고리즘/백준 2022.04.13

[BaekJoon] 백준 16236번 _ 아기 상어 for JAVA (다시 풀기)

https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 너무 어렵다!! 참고 https://bellog.tistory.com/109 https://velog.io/@skyepodium/%EB%B0%B1%EC%A4%80-16236-%EC%95%84%EA%B8%B0-%EC%83%81%EC%96%B4 dist[][]라는 거리를 계산하는 2차원 배열을 만들어서 움직일 수 있을 때까지 확인하고 먹을 수 있으면 먹은 후 거리를 더하는 식으로 한 것 같다...

알고리즘/백준 2022.02.28

[BaekJoon] 백준 1707번 _ 이분 그래프 for JAVA _ DFS, BFS 알고리즘

https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 문제 설명이 참 불친절하다. 이분 그래프는 1 - 2 - 3 으로 연결되어 있는 그래프가 있다고 쳤을 때 1과 3이 연결되어있지 않은 그래프를 말한다. 이렇게 인접한 꼭짓점을 빨, 검으로 칠했을 때 빨빨과 검검이 연결되지 않은 그래프이다. 푼 방법은 예를 들어 예시를 보면 3 2 1 3 2 3 일케 되어있음. 그러면 간선이 1 - 3 - 2 로 연결되어있다고 보면 됨. 이렇게 연결이 되어있다고 보..

알고리즘/백준 2022.02.25

[BaekJoon] 백준 1520번 _ 내리막 길 for JAVA _ DFS + DP 알고리즘

https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net DFS 썼다. 근디 걍 DFS만 쓰면 시간 초과가 된다. 시간 초과된 코드(실패) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Baek1520 { // 내리막길 DFS public static int..

알고리즘/백준 2022.02.24

[BaekJoon] 백준 1789번 _ 수들의 합 for JAVA _ 그리디 알고리즘

https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 당연히 작은 수부터 더해가면서 살펴보면 된다. 200은 왜 출력이 19냐면 1 + 2 + 3 + … + 18 + 29 해서 19개가 된다. 여기서 ... 18 + 19 = 190 이라서 10은 중복 사용을 못하므로 그냥 29를 더해버려야 한다. 다른 숫자도 마찬가지고 나누어 떨어지지 않으면 그냥 + 나머지수 일케 해야함 코드 package Baek; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; ..

알고리즘/백준 2022.02.16

[BaekJoon] 백준 1010번 _ 다리 놓기 for JAVA _ 조합

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 다리 안겹치게 짓는거... N 0) return dp[m][n]; // 재활용 if(m == n || n == 0) return dp[m][n] = 1; return dp[m][n] = bridge(m - 1, n - 1) + bridge(m - 1, n); // n+1 C r+1 = n C r + n C r+1 } } https://st-lab.tistory.com/194 : 설명 잘된 블로그

알고리즘/백준 2022.02.08

[BaekJoon] 백준 2644번 _ 촌수계산 for JAVA _ BFS 알고리즘

https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net BFS씀 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokeniz..

알고리즘/백준 2022.02.06

[BaekJoon] 백준 11725번 _ 트리의 부모 찾기 for JAVA _ BFS 알고리즘

https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net BFS로 풀었다. 코드 package Baek; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Baek11725 {..

알고리즘/백준 2022.02.05

[BaekJoon] 백준 7562번 _ 나이트의 이동 for JAVA _ BFS 알고리즘

https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net BFS로 풀었다. 걍 전형적인.. 문제이다.... dx[], dy[]의 범위에만 신경써주면 됨 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.Strin..

알고리즘/백준 2022.02.03