파이썬
-
[Python] 백준 2609 최대공약수와 최소공배수Python_알고리즘 2021. 7. 11. 02:27
문제 바로가기 문제분석 # 유클리드 호제법으로 최대공약수를 구한 후, 그걸 힌트로 최소공배수를 구한다. a,b의 최대공약수 == b와 a%b의 최대공약수 a%b가 0이 될 경우(나머지가 없이 a가 b로 딱 떨어진다는 것이므로) b가 최대공약수 최소공배수는 두 값의 곱/최대공약수 # 유클리드 호제법의 예 24 - 1 2 3 4 6 8 12 24#24의 약수들 18 - 1 2 3 6 9 18# 18의 약수들 a = 24 b = 18 a, b = b , a % b 24, 18 = 18, 6 18, 6 = 6, 0 -> 나머지가 0이 되었으니 나누는 수 6이 24와 18의 최대공약수 문제풀이 a, b = map(int, input().split()) def gcd(a, b): while b > 0: a, b =..
-
[Python] 백준 2839 설탕 배달Python_알고리즘 2021. 7. 4. 00:18
문제 바로가기 문제분석 # 봉지를 가작 적게 가져가야 하므로 5킬로그램으로 먼저 나누고 나머지가 있다면 3킬로그램으로 빼면서 계산하는게 핵심이다. # 무한루프를 돌리고 그 안에서 if문으로 조건을 걸어 break해주는데, break의 조건은 2개가 생긴다. # 하나는 모두 계산이 되어서 출력이 되었을 때, 다른 하나는 정확하게 N킬로 그램을 만들 수 없을때 이다. 문제풀이 N = int(input()) bag = 0 while True: if N % 5 == 0: bag += (N // 5) print(bag) break N -= 3 bag += 1 if N < 0: print(-1) break # 설탕 무게(N)를 입력값으로, 받고 설탕 봉지를 셀 변수를 초기화한다. # 무한루프를 만들고, 조건문으로 ..
-
[Python] 백준 1316 그룹 단어 체커Python_알고리즘 2021. 7. 3. 01:52
문제 바로가기 문제분석 # 그룹단어를 확인하기 위해서 첫번째 인덱스부터 나머지 인덱스에 있는 알파벳을 비교해야한다. # 만약 첫번째 알파벳을 옆 인덱스와 비교했을 때, 같다면 계속 비교를 하고 # 다른 알파벳이 나왔다면 그 인덱스부터 끝날때까지는 첫번째 알파벳이 나오면 안된다. 문제풀이 # 방법1 n = int(input()) for _ in range(n): word = input() for i in range(len(word) - 1): if word[i] != word[i + 1]: if word[i] in word[i + 1:]: n -= 1 break print(n) # 첫 입력값으로 단어의 개수를 입력 받는다. # 그룹단어가 몇개인지 출력해야 하므로 주어진 단어의 개수 만큼 반복문을 돌리고 두..
-
[항해99]알고리즘_07sparta/알고리즘 2021. 6. 22. 01:02
[Python] 백준 2630 색종이 만들기 문제분석 # 분할정복(Divide and Conquer) - 주어진 문제를 작은 사례로 나누고(Divide) 각각의 작은 문제들을 해결하여 정복(Conquer)하는 방법 - 재귀적으로 자신을 호출하면서 그 연산의 단위를 조금씩 줄여가는 방식 # 한변의 길이 n을 입력값을 받고 # 변수를 하나 선언해서 두번째 입력값(각 색종이들의 숫자)을 리스트 형식으로 받는다.(이중리스트) # 각 종이를 확인하여 0이나 1만 가지고 있는 색종이 발견시 추가할 리스트(result)를 초기화 한다. # 재귀함수를 이용해 반복문을 돌면서 시작점과 x,y,n까지의 숫자를 비교했을 때 같은지 확인한다. # 시작점과 반복문으로 돈 입력값의 숫자가 같다면, 초기화 한 result 리스트에..
-
[항해99]00사전준비/3주차sparta/웹개발 2021. 6. 4. 14:05
바쁘다 바빠 현대사회 일단 머리에 다 욱여 넣고 있다. 1. Python 파이썬에서의 반복문은 리스트의 요소들을 하나씩 꺼내쓰는 형태로 무조건 리스트와 함께 쓰임! 2. 크롤링 크롤링 시 text를 가져올때 문자열 쪼개기. 파이썬에서는 문자열 자체가 리스트 취급을 당하기 때문에 그냥 리스트에서 특정 구문을 빼오듯이 쓰면 그게 substring()이다. 3. mongoDB database로 data를 쌓아 두는 곳. *Robo3T? 내 눈에 보이지 않고 돌아가는 데이터들을 RoboT를 사용하여 MongoDB data를 볼수 있도록 한다. DB는 크게 두가지 : SQL / NoSQL 1. SQL : 행과 열이 정해져 있는 엑셀과 비슷. 따라서 중간에 데이터 변경 힘든 반면 데이터 분석 용이 ex) My-SQ..