Problem Solving/BOJ

    [백준, BOJ 10828] 스택 (python)

    https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net n = int(input()) stack = [] ans = [] count = 0 for i in range(0, n): s = input().split() if s[0] == 'push': stack.append(s[1]) elif s[0] == 'pop': if len(stack) == 0: ans.append(-1) else: ans.append(stack[len(stac..

    [백준, BOJ 9012] 괄호 (python)

    https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 내 생각 '('가 나오면 n+=1, ')'가 나오면 n-=1 일 때, n이 음수가 되거나, 문자열이 끝났는데 아직 양수라면 NO라고 생각했다. t = int(input()) s = [] ans = [] for i in range(0, t): s.append(input()) ans.append('NO') for i in range(0, t): n = 0 for j in..

    [백준, BOJ 10946] 랜덤 게임~~~~ (python)

    https://www.acmicpc.net/problem/10946 10946번: 랜덤 게임~~~~ 1부터 2,147,483,647까지 정수 중에서 하나를 출력한다. 이 수가 채점 프로그램이 랜덤으로 얻은 수와 같으면 만점을 받는다. 채점 프로그램은 채점을 할 때마다 랜덤을 수행한다. 이 문제의 점수는 www.acmicpc.net 내 생각 무슨 이런 문제가 다 있지? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 이거 괜히 한번 제출하면 '틀렸습니다' 계속 떠 있어서 찝찝할 거 같은 기분이지만 오기가 생기는 문제네,,, 인생 재밌게 사시는 분... 저거 한 10번 정도 시도하다가 내 기록에 '틀렸습니다' 누적되는 거 싫어서 포기! import random print(random.randrange(1, 2147483648))

    [백준, BOJ 2798] 블랙잭 (python)

    https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 내 생각 크기가 3인 max_list 리스트를 만들고 입력 받은 수 중 3개를 max_list에 넣는다. 입력 받은 수를 하나씩 max_list의 가장 작은 수 min과 비교해서, min보다는 크지만 min 대신에 max_list에 들어와도 m을 넘지 않으면 조건에 성립한다고 생각했다. -> min 대신에 들어오면 m보다 커지지만 mid나 max 대신에 들어오면 m..

    [백준, BOJ 10872] 팩토리얼 (python)

    https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net n = int(input()) mul = 1 for i in range(1,n+1): mul *= i print(mul)

    [백준, BOJ 11653] 소인수분해 (java)

    출처-https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 내 생각 처음에는 소수를 구해야 한다고 생각했다. 그런데 따로 소수를 구해주지 않아도 된다. 2로 나눌 수 있을 때까지 나눠주고, 그다음 3을 나눠주면 4를 나눌 차례가 되었을 때 어차피 2로 나눌 수 있을 때까지 나눠 주었기 때문에 더 이상 나눌 수 없어 5로 넘어가게 된다. 이렇게 2부터 순서대로 나눠주면 따로 소수를 구할 필요 없이 소인수분해를 할 수 있다. import java.util.Scanner; public class Main { public static void main(String[] args..

    [백준, BOJ 10757] 큰 수 A+B (java)

    출처-https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 내 생각 큰 정수의 합을 출력하기 위해서 Math의 BigInteger를 사용해주었다. import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); String str1 = scan.next(); String str2 = sc..

    [백준, BOJ 4948] 베르트랑 공준 (java)

    출처-https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 참고 소수를 찾는 방법은 'BOJ1978' 과 같은 방법을 사용했다. import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner (System.in); while (true) { int n ..

    [백준, BOJ 1929] 소수 구하기 (java)

    출처-https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 참고 소수를 찾는 방법은 'BOJ1978' 과 같은 방법을 사용했다. import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int m = scan.nextInt(); int n = scan.nextInt..

    [백준, BOJ 2581] 소수(java)

    출처-https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 참고 소수를 찾는 방법은 'BOJ1978' 과 같은 방법을 사용했다. import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner (System.in); int m = scan.nextInt(); int n =..