코테
-
[Problem Solving] 정수론 및 조합론 백준 예제/PythonPS/백준 2022. 7. 30. 22:28
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 이번에 해결해 본 단계는 기하1에 이어서 정수론 및 조합론이다! 해당 단계에서 사용하는 주된 수학적 개념은 배수/약수/조합이었다. 그래서인지 기하1과 마찬가지로 그렇게 어려운 논리를 포함한 문제들은 아니라는 생각이 아주 조심스럽게 들었다. 이제 하나씩 문제들과 해결 코드를 살펴보자! # 백준 1934번 최소공배수 Python3 #유클리드 호제법 사용 import sys T = int(sys.stdin.readline()) for _ in range(T): A, B = map(int, sys.stdin.readline().split()) n1 = max(..
-
[Problem Solving] 기하1 백준 예제/PythonPS/백준 2022. 7. 27. 16:40
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 도형을 활용하여 푸는 문제였던 기하1 ! 유독 원을 활용하여 푸는 문제가 많았던 것 같다. 그래서인지 고등학교 수학(상)에 나온 개념들을 활용하여 충분히 풀 수 있었다. 또한, 개인적으로 시간 초과에서 자유로운 문제들이라는 생각이 들었다 ㅎㅎ # 백준 2477번 참외밭 Python3 import sys K = int(sys.stdin.readline()) east_west_len = [] south_north_len = [] length = [] for i in range(6): direction, lengths = map(int, sys.stdin.r..
-
[Problem Solving] 집합과 맵 백준 예제/PythonPS/백준 2022. 7. 25. 13:52
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) Python에서 집합은 set() 키워드로 구현할 수 있다! 우리가 알고 있는 집합과 동일하게 중복을 허용하지 않는다. 또한 순서가 없기 때문에 인덱스로 접근할 수 없다. set 키워드는 손쉽게 교집합, 합집합, 차집합, 대칭차집합 등을 구할 수 있기에 유용하며, 중복이 허용되지 않는 입력이 주어졌을 때 리스트보다 시간복잡도가 적기 때문에 효율성 측면에서도 유용하게 쓰일 수 있다. # 교집합 s1 & s2 s1.intersection(s2) # 합집합 s1 | s2 s1.union(s2) #차집합 s1 - s2 s1.difference(s2) 또한 해당..
-
[Problem Solving] 정렬 백준 예제/PythonPS/백준 2022. 7. 17. 17:39
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) 정렬: 순서를 기준으로 두고 분류하는 것 파이썬에서는 list.sort() 와 sorted()로 손쉽게 list 을 정렬할 수 있다. list.sort()의 경우 원본 데이터를 직접 정렬하고, sorted()는 원본 데이터를 정렬한 새로운 리스트를 반환한다. 따라서 sorted() 메서드로 원본 데이터를 직접 정렬하고 싶다면 아래와 같이 코드를 작성해주면 된다. a = [1, 4, 5, 3, 2] b = [1, 4, 5, 3, 2] a.sort() # a = [1, 2, 3, 4, 5] sorted(b) # b = [1, 4, 5, 3, 2] b = s..
-
[Problem Solving] 브루트 포스 개념 및 백준 예제/PythonPS/백준 2022. 7. 14. 23:26
해당 게시글은 비전공자이자 쌩초보 개발자 지망생이 작성한 글로 정확하지 않을 수 있으니 참고해주시길 바랍니다! 피드백과 정보 정정 댓글은 환영입니다 :) Brute-Force (짐승 같은, 난폭한 힘) 이라는 뜻을 가진 만큼 엄청난 자원을 필요로 하는 풀이 기법이다. 브루트 포스의 이해를 돕기 위한 가장 쉬운 예로 숫자로만 이루어진 네자리 수 비밀번호를 맞추기 위해 0000부터 9999를 모두 대입하는 방법을 들 수 있다. 무식한 풀이 기법이지만 그만큼 정확도가 뛰어나다는 장점 아닌 장점을 가지고 있다. 다음은 백준에서 브루트 포스 알고리즘으로 해결할 수 있는 문제들과 코드이다. # 백준 2798 팩토리얼 Python3 import sys N, M = map(int, sys.stdin.readline()..