일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- c언어
- redis
- 자바
- OS
- Heap
- Algorithm
- Data Structure
- mongoDB
- Proxy
- 백준
- JPA
- spring webflux
- 파이썬
- Java
- 운영체제
- 알고리즘
- 자료구조
- Kafka
- MSA
- 네트워크
- 컴퓨터구조
- JavaScript
- Galera Cluster
- MySQL
- IT
- 디자인 패턴
- design pattern
- Spring
- C
- react
- Today
- Total
목록파이썬 (17)
시냅스
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루트포스를 단순히 모든 가능성을 체크하는 이중 반복문을 통해 풀었다. 총 합에서 두 개의 요소를 삭제했을 때 100이 나오게 되면 정답으로 처리해주었다. 다만, 파이썬 문법에 아직은 익숙하지 않다고 느끼는 부분이 몇몇 있었는데, del 키워드를 이용해서 리스트의 요소를 삭제하면 리스트의 인덱스가 무너져 원하지 않는 값이 도출된다는 점, 마찬가지로 remove 키워드를 사용하여 삭제할 때에도 원소를 직접 ..
https://www.acmicpc.net/problem/17425 17425번: 약수의 합 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 약수의 합2와 이어지는 문제인듯 했으나, 그렇지 않았다. https://liltdevs.tistory.com/49?category=1054462 백준 boj 17427 - 약수의 합 2 (파이썬, python) https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A ..
https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 6 이상의 짝수는 두 개의 소수의 합으로 이뤄진다는 골드바흐의 추측을 구현하는 문제였다. 입력받은 숫자와, 두 개의 소수를 한 번에 출력해주면 되는 문제였다. 소수의 경우 에라토스테네스의 체를 사용했는데, 에라토스테네스 체를 구현하는 두 방식을 비교하여 조금 더 빠른 방식을 확인하였다. EOFError를 통해 끝까지 입력 받을 수 있게 했고, input 값이 0이라면 프로그..
https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 역시 이 문제 또한 일반 반복문을 통하여 해결하였을 때에는 시간초과로 틀리게 된다... 유클리드 호제법이란 것을 활용해야 하는데, 유클리트 호제법이란 x, y의 최대공약수는 y, x % y 의 최대공약수와 같다는 원리를 이용한다. x % y 의 값이 0이 됐을 때의 y 값이 결국 최대 공약수가 된다. 이게 뭔소리냐면... 10 과 6 을 예시로 든다면, x y x%y 10 6 4 6 4 2 4 2 0 결국, 최대 공약수는 2 이다. 증명은 나무위키에 잘 나와 있다..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 너무 많은 시간 초과들과의 싸움이 있었고... 더는 시간초과로 골머리 썩고 싶지 않은 마음에 애초에 에라토스테네스의 체를 활용하여 문제를 풀었다. 문제에서 주어진 시간이 넉넉하여 이렇게 풀지는 않아도 될 것 같다. 문제는 최대 1000 까지의 숫자가 최대로, 미리 모든 수를 1로 채운 배열을 하나 생성하였다, 이후 모든 수의 배수는 0으로 바꿔, 소수가 아님을 표시했다. 이후 입력받은 수를 위 만들어 둔 배열에서 확인하는 식으로 풀이하였다. code max_val ..
https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 독해가 가장 어려웠다... 다짜고짜 1이라니... 뭔 소리를 하는 지 헷갈렸는데, 그냥 숫자가 '111' 처럼 1로만 이뤄진 수를 찾는 문제였다. 파이썬의 EOFError 를 통해 입력 끝날 때까지 받을 수 있게 했고, temp라는 변수를 하나 설정하여 1을 계속 붙여주고, 그게 입력받은 n으로 나눠 떨어지는 지 확인하여 결과를 출력해주었다. 일종의 브루트포스를 활용하였다. 코드 while True: try: n = int(input()) temp = 1 ..
https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 문제의 난도는 높지 않으나, 시간 초과를 고려해야 하는 부분이 까다롭다. 첫 시도에 2중 반복문을 활용하였으나, 당연히 실패... 하여 얻은 인사이트는 만약 10을 기준으로 한다면, 1 은 총 10번 등장하고 ((10 / 1) * 1), 2 는 총 5번 등장하고 ((10 / 2) * 2), 3 은 총 3번 등장하고 ((10 / 3) * 3..