본문 바로가기

백준23

[백준] 파이썬 - 1932번 : 정수 삼각형 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 실버 1. 1932번: 정수 삼각형 파이썬 풀이 풀이 방법 알고리즘 - 다이나믹 프로그래밍 1. 위에서부터 아래로 내려오면서 graph의 값을 더한다. 2. 이때, 전 graph의 값 중 최대의 값을 선택해야 된다. 3. 2번에서, 무조건 왼쪽 대각선 또는 오른쪽 대각선으로 내려와야 한다는 전제가 있다는 것을 고려한다. 3-1. 양끝단에 있는 값은 무조건 선택해야 하는 값이 정해져있음. 3-2. 그 둘을 제외한 나머지는 왼쪽 대각선 또는 오른쪽 대각선 중 최대값을 선택.. 2024. 3. 2.
[백준] 파이썬 - 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.