728x90 반응형 Python3173 2022.02.24 [백준] (python 파이썬) 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 풀이 이 문제를 처음 접근할 때, 이분탐색으로 접근해서 코드를 작성했다. 하지만 계속 시간초과가 발생하여서 구글링으로 다른 방법을 찾아보았다. 1. 딕셔너리 활용하기 2. from collections import Counter를 이용해 개수 카운팅하기. - 이분탐색( 시간초과 코드 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1.. 2022. 2. 24. 2022.02.23 [백준] (python 파이썬) 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 이 문제는 체스판에서 선택 가능한 8*8사이즈의 보드를 모두 탐색한 뒤, 최소한을 바꿔야 하는 칸 수를 구하는 문제이다. 우선 각 8*8체스판의 시작점을 구하기 위해 2중 for문을 사용했다. 이 후 각 체스판에서 바꿔야 하는 칸 수를 저장할 change_num을 선언 후, 각 시작점을 기준으로 8*8체스판을 탐색했다. for문안에서 (k+l)%2 조건을 넣은 이유는 시작점이 'W'라.. 2022. 2. 23. 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. 이전 1 ··· 21 22 23 24 25 26 27 ··· 44 다음 728x90 반응형