본문 바로가기
반응형

Problem Solving239

[BOJ][Python]1002 풀이 사실 이 문제는 저도 상당히 예전에 풀었던 문제라 잘 기억이 안나는데요. 천천히 같이 가봅시다. 문제 : https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 코드 : import sys def find_number_of_circle_intersection_point(x1,y1,r1,x2,y2,r2): center_to_center_distatnce = ((x2-x1)**2+(y2-y1)**2)**(1/2) r_list = [r1,r2] r_list = sorted(r_list) r_list.appen.. 2021. 12. 30.
[BOJ][Python]백준 11866 풀이 그냥 듀크입니다. 이제 클래스 2+도 끝이네요. 경험치를 좀 빨리 얻기 위해서 클래스 순으로 풀었는데 아마 1월이 되면 다시 단계별 문제풀이로 돌아갈 것 같네요. 문제 : https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 코드 : from collections import deque import sys ssr = sys.stdin.readline n, k = map(int, ssr().split()) s = deque([i for i in range(1, n+1)]) print('') 이전 포스팅에서 deque를 썼었죠? 연달아서.. 2021. 12. 29.
[BOJ][Python]11050번 풀이 문제 : https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def fact(n): result = 1 for i in range(1,n+1): result *= i return result n,k = map(int, ssr().split()) print(int(fact(n)/(fact(k)*fact(n-k)))) 아마 예전에 단계별 문제 풀기 재귀 파트에서 팩토리얼 문제를 풀었던 것 같은데요. 그 때는 재귀로 구현을 했었지만 이번엔 for문으로 해봤.. 2021. 12. 29.
[BOJ][Python]백준 10866 풀이 그냥 듀크입니다. 이번에는 deque(덱 또는 데크) 자료형으로 풀어보겠습니다(list로 해도 괜찮을 것 같기는 한데 추가시간이 없다는 코멘트가 있어서 처음부터 deque로 풀어봤습니다). 문제 : https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 : from collections import deque import sys ssr = sys.stdin.readline list = deque() n = int(ssr()) fo.. 2021. 12. 29.
[BOJ][Python]백준 10845 풀이 그냥 듀크입니다. 저번 포스팅에 이어서 이번엔 queue 자료형에 대한 구현이네요. 사실 list 자료형에는 없지만 popleft라는 명령어를 사용할 수 있는 자료형이 있습니다(저는 deque에서 사용했던 경험이 있네요). 이번에도 쉬우니 빠르게 가봅시다. 문제 : https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline n = int(ssr()) list = [].. 2021. 12. 29.
[BOJ][Python]10828번 풀이 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys ssr = sys.stdin.readline n = int(ssr()) list = [] for i in range(n): command = ssr().rstrip() if command.find('push') != -1: list.append(int(command[4:])) elif command == 'pop': if len(list) == 0: print.. 2021. 12. 28.
[BOJ][Python]백준 10816번 풀이 그냥 듀크입니다. 빨리 다른 정렬 알고리즘을 구현해봐야 할 것 같습니다. 뭐만하면 카운팅소트만 쓰고 있어서 성장이 없는 느낌이에요. 습관은 무섭군요. 문제 : https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def func(): cnt = [0 for i in range(20000001)] for i in num: cnt[i+1000000.. 2021. 12. 28.
[BOJ][Python]백준 9012번 풀이 그냥 듀크입니다. 이번에도 크게 어려운 문제는 아니니 함께 가봅시다. 문제 : https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def func(s): if s.find('()')== -1: print('NO') return elif s == '()': print('YES') return if len(s)>=3: func(s.replace('(.. 2021. 12. 25.
[BOJ][Python]백준 2609번 풀이 그냥 듀크입니다. 이번에는 유클리드 호제법을 사용해서 풀어봅시다. 문제 : https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline def gcd(n,m): if n%m == 0: return m else: return gcd(m,n%m) a,b = map(int, ssr().split()) if ab), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 .. 2021. 12. 25.
[BOJ][Python]백준 2164번 풀이 그냥 듀크입니다. 이번 문제는 시간복잡도와 공간복잡도의 압박을 강하게 걸어오는 문제라서 저에겐 상당히 힘들었습니다. 바로 한 번 가볼까요. 문제 : https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 코드 : import sys ssr = sys.stdin.readline input = int(ssr()) square = 2 while True: if (input == 1 or input == 2): print(input) break square .. 2021. 12. 23.
반응형