본문 바로가기

알고리즘148

[Python]7568_덩치 문제링크 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 이렇게 비교를 해서 넣으면 [1,1,0,1,4] 로 나온다. 자기보다 큰 사람이 한명, 0명, 4명 이런식이다. 따라서 sum에 +1을 한 결과를 출력해주면 된다. N = int(input()) #사람의 수 N arr = [list(map(int,input().split())) for _ in range(N)] # x,y 입력 arr_sum = [0 for i in range.. 2022. 5. 2.
[Python]2231_분해합 문제링크 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net -> 생성자가 없는 경우에는 0을 출력하는 부분에 유의해서 풀면 될 듯하다. N = int(input()) able = False for i in range(N): M = i+1 temp = i+1 number = str(i+1) for j in range(len(number)): temp +=int(number[j]) if(temp == N): able = .. 2022. 4. 26.
[Python]2798_블랙잭 문제링크 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 여기서 if 문 조건을 줬어야했다. i,j,z 가 값을 가져오면서 똑같은 위치에 있는 값을 접근하는 경우를 제외시켜주었다. N,M = map(int,input().split()) num_list = list(map(int,input().split())) sum = 0 for i in num_list[:N-2]: for j in num_list[1:N-1]:.. 2022. 4. 26.
[Java] 백준_4101_크냐? 문제링크 https://www.acmicpc.net/problem/4101 4101번: 크냐? 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 두 정수가 주어진다. 두 수는 백만보다 작거나 같은 양의 정수이다. 입력의 마지막 줄에는 0이 www.acmicpc.net package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_4101 { public static void main(String[] args) throws IOException.. 2021. 12. 1.
[JAVA] 백준_1926_그림 문제링크 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main_1926 { sta.. 2021. 11. 16.
[JAVA]백준_11909_배열탈출 문제링크 https://www.acmicpc.net/problem/11909 11909번: 배열 탈출 상수는 2차원 배열 A[1..n][1..n] (n≥2, n은 자연수)을 가지고 있습니다. 이 배열의 각 원소는 1 이상 222 이하의 정수입니다. 배열을 가지고 놀던 상수를 본 승현이는, 질투심이 불타올라 상수를 A[1][1] www.acmicpc.net package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_11909 { static int N; static int arr[][].. 2021. 10. 18.
[JAVA]백준_2933_미네랄 문제링크 https://www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 초반에는 계속 이어지고 이어지고? 십자가끼리 이어지다 보면 클러스터가 큰 한 뭉치라고 해야하나 그렇게 이해를 해서 도무지 이해가 안됐다. 그냥 사방향 인접하면 클러스터 1 로 하고 내려주고 다음 탐색해서 사방향 인접하면 클러스터 2 하고 내려주고 이렇게 하면 된다. 1. 높이 입력 받은 후 미네랄을 지워준다. 그리고 클러스터 찾아서 내려주는 과정 반복할 것이다. 2. height (높이), side(어.. 2021. 9. 14.
[JAVA]백준_4779_칸토어집합 문제링크 https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 코드 중간에 설명적어놨습니다. 저는 재귀로 풀었습니다. --------- (n이 3인 경우) 1. 중간 부분을 먼저 공백으로 바꾸어 줍니다. --- --- 2. 첫번째 부분을 DFS 함수를 통해 중간 부분만 공백으로 바꾸어줍니다. - - --- 3. 만약 전체 길이가 3보다 작으면 RETURN 합니다. 4. 세번째 부분을 DFS 함수를 통해 중간 부분만 공백으로 바꾸어줍니다. - - - .. 2021. 9. 9.
[JAVA]백준_1654_랜선자르기 문제링크 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 기본적인 이분탐색 문제이다. 이분탐색 이해가 잘 안되어서 풀어보았다. 중간에 많이 틀렸는데 left,right,mid 를 long형으로 해주어야 한다. package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.. 2021. 8. 31.