본문 바로가기

컴퓨터공학38

[백준] python - 9020번: 골드바흐의 추측 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 실버 2. 9020번 : 골드바흐의 추측 파이썬 풀이 접근 방식 1. '가능한 n의 골드바흐 파티션이 여러 가지인 경우에는 두 소수의 차이가 가장 작은 것을 출력한다.' 라는 제한이 존재하므로, n의 절반값에서 시작한다. (n//2) 2. 한 변수는 n//2 값에서 1씩 작아지고, 한 변수는 1씩 커지면서 각각의 변수가 모두 소수일 때를 찾는다. 코드 import math T .. 2024. 2. 3.
[백준] 파이썬 - 10819번 : 차이를 최대로 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 실버 2. 10819번 : 차이를 최대로 파이썬 풀이 풀이 방식을 설명하려고 그림을 그려보았다. 1. 리스트를 반으로 나누어, 중간을 기준으로 거리별로 플러스와 마이너스를 사용하여 인덱스를 매긴다. 2. 가장 먼 거리에 있는 쌍부터 가까워지면서, 새로운 list에 추가한다. -> 이때, 가장 먼저 넣는 쌍은 플러스부터 시작하고, 그 다음은 마이너스, 또 그 다음은 플러스로 순서가 바뀐다. (인덱스가 +, -, .. 2024. 1. 31.
[백준] 파이썬 python - 1874번 : 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1874번: 스택 수열 레벨 실버 2. 스택 / 자료 구조 접근 방식 1. 가장 먼저 입력받았을 경우 - 해당 숫자까지 오름차순으로 stack에 push(+) 한 후, 해당 숫자를 pop(-) 한다. 2. stack이 비었지만, stack에 저장한 경력이 있을 경우 - 마지막으로 push한 숫자부터, 현재 입력받은 .. 2023. 12. 24.
[백준] 파이썬 python - 9095번 : 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 백준 9095번 : 1, 2, 3 더하기 레벨 실버 3 접근 방식 d[n] = d[n-1] + d[n-2] + d[n-3] 점화식을 사용한다. 코드 d = [0] * 30001 t = int(input()) for _ in range(t) : n = int(input()) for i in range(1, n+1) : if i == 1: d[1] = 1 elif i == 2 : d[2] = 2 elif i==3: d[3] = 4 else: d[i] = d[i-1] + d[i-2] + d[i-3] .. 2023. 12. 12.
[백준] 파이썬 python - 1270번 : 전쟁 - 땅 따먹기 https://www.acmicpc.net/problem/1270 1270번: 전쟁 - 땅따먹기 첫째 줄에는 땅의 개수 n(n arr[i][0]//2 : print(max_num) else: print("SYJKGW") 딕셔너리를 사용하여서 개수를 직접 구하고, .get을 사용하여서 요소의 개수가 가장 많은 요소를 골랐다. 물론 이 코드도 좀 쓰레기인 거 같은게 시간이 6444ms가 나왔다. ㅎ 하하하 최선의 코드를 더 찾아봐야될 것 같다. 절대 count와 frequency를 자주 사용하지 말자^^ 2023. 12. 7.
[백준] 파이썬 python - 2841번 : 외계인의 기타 연주 https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (1 ≤ N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 www.acmicpc.net 2841번: 외계인의 기타 연주 레벨 실버 1 접근 방식 1. 총 6개의 줄이므로, 각각에 해당하는 스택을 미리 만든다. 2. line에 해당하는 스택이 존재하며, top에 있는 프렛이 현재 누를 프렛보다 높다면 해당 프렛 삭제 (손 떼어내기) 3. 이미 해당 프렛을 누르고 있다면, continue 4. 현 프렛을 stack에 추가 (누르기) 내 코드 n,.. 2023. 12. 4.