본문 바로가기

백준4

[백준] 10816 숫자카드 2 #Java package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int [] arr = new int[n]; Strin.. 2022. 5. 7.
[백준] 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 탑다운, 바텀업 두가지 방식으로 풀긴 했는데, 탑다운 방식으로 하니까 시간초과가 났다. max_num = 10**20 def solution(n,count): global max_num if n == 1: max_num = min(max_num,count) if n % 3 == 0: solution(n//3,count+1) if n % 2 == 0: solution(n // 2, count +1) if n > 1: solution(n-1,count+1) return max_num def solution2(n):.. 2021. 11. 16.
[백준] 브루트 포스 - 모든 경우의 수를 다 해보는 것 - 다 해보는 시간이 크진 않아야 한다. = 문제의 제한시간을 넘지는 말아야 한다. 해결 3단계 1. 문제의 해결 가능한 경우의 수를 어림잡아보자. 0~9999? 음.. 그럼 10^4번 하면 되겠구만.. 이정도? 2. 가능한 모든 방법을 만들어보자. for문? 순열? 재귀? ... 3. 각각의 방법을 이용해 답을 구해보자 이건 먼말인지 모르겠음. 그냥 다 해보기 일곱 난쟁이 https://www.acmicpc.net/problem/2309 더보기 def solution(arr, sum): ans = [] for i in range(len(arr)): for j in range(i,len(arr)): if sum-arr[i]-arr[j] == 100: for k in a.. 2021. 3. 9.
[백준] 나머지 연산, 최대공약수, 최소공약수 1. 나머지 연산 정답을 1000,000,007로 나눈 나머지를 출력하자. 구하는 과정에서 나눠서 계산하는 풀이. 1. 덧셈, 곱셈은 매번 나머지 연산을 수행해서 계산해도 된다. 예) (6+3) % 3 = ((6%3) + (3%3)) % 3 2. 음수일 경우 언어별로 결과가 달라진다.(나는 파이썬이니까 상관 없음) 3. 나눗셈의 경우 잘 안나오니까 일단 패스 https://www.acmicpc.net/problem/10430 더보기 A,B,C = map(int,input().split()) print(((A + B) % C)) print(((A % C) + (B % C)) % C) print(((A * B) % C)) print(((A % C) * (B % C)) % C) 2. 최대공약수 중요한 알고리즘.. 2021. 3. 8.