본문 바로가기
728x90
반응형

Python169

2022.02.23 [백준] (python 파이썬) 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 이 문제를 풀기 위해 몇가지 순서를 생각했다. 1. '(' 괄호가 나오면 stack에 넣어준다. 2. ')' 괄호가 나오면 stack을 확인해준다. 2-1. 만약 stack이 비어있다면 괄호의 짝이 맞지 않으므로 check를False로 바꾼 뒤, break를 이용해 반복문을 빠져나온다. 2-2. 만약 stack에 데이터가 들어있다면 짝이 있으므로 stack의 마.. 2022. 2. 23.
2022.02.23 [백준] (python 파이썬) 최대공약수와 최소공배수 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 풀이 최소 공배수를 구하는 방식은 아래와 같다. 또한 n*m=최대공약수*최대공배수 가 성립한다. 그래서 최소공배수는 n*m/최대공약수이다. 위의 방식을 코드로 옮겨주면 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 n,m=map(int,input().split()) def gcd(a,b): if a%b==0: return b else: return gcd(b,a%b) x=gcd(n,m) print(x) print(n*m//x) cs 2022. 2. 23.
2022.02.23 [백준] (python 파이썬) 수 찾기 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 2가지 방법으로 문제를 해결했다. 1. 이분 탐색 먼저 이분탐색은 배열이 정렬된 상태에서 가능하기 때문에 arr배열을 정렬 후, 시작과 끝 인덱스를 first, last로 지정한다. 시작과 끝의 중간지점을 mid로 지정 후, mid값과 value를 비교한다. 만약 값이 동일하다면 1일 출력해주고, mid값이 크다면 value와 같은 값은 mid.. 2022. 2. 23.
2022.02.22 [백준] (python 파이썬) 이항 계수 1 https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 풀이 이 문제는 재귀제한으로 인해 재귀는 사용하지 않았고 내장함수인 math.factorial을 사용하여 이항계수를 구했다. 1 2 3 4 5 import math n,k=map(int,input().split()) print(round(math.factorial(n)/(math.factorial(k)*math.factorial(n-k)))) cs 2022. 2. 22.
728x90
반응형