본문 바로가기

Algorithm705

[Brute Force] 백준 10448 유레카 이론 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 2. 문제 풀이 Tn = 1 + 2 + 3 + 4 ... + n = n(n+1)/2 등차가 1인 수열의 합으로 표현되는 수를 '삼각수'라고 합니다. 정수 K가 주어졌을 때, 세 삼각수의 합으로 표현할 수 있는지를 판별해야 합니다. 2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법? [Algorithm] 브루트 포스(Brute Force)는.. 2022. 3. 27.
[구현/해시] 백준 1076 저항 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다. www.acmicpc.net 2. 문제 풀이 3가지 색이 주어집니다. 처음 두 색은 저항의 값이고, 마지막 색은 곱해야 하는 값입니다. 위 표대로 저항 값을 계산해야 합니다. 3. 코드 #입력 c1 = input() c2 = input() c3 = input() color = {'black': 0, 'brown': 1, 'red': 2, 'orange': 3, 'yellow': 4, 'green': 5, 'blue': 6, 'violet': 7, 'grey': 8, 'white': 9} print((color[c1.. 2022. 3. 26.
[구현/수학] 백준 2003 수들의 합 2 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 2. 문제 풀이 1부터 N까지 연속된 자연수의 수열에서 부분 합이 M인 구간의 수를 구하는 문제입니다. 2022.02.14 - [Algorithm] - [구현/수학] 백준 11659 구간 합 구하기 4 - Python [구현/수학] 백준 11659 구간 합 구하기 4 - Python [ Contents ] 1. 문제 (링크 참조) 11659번: 구간 합 구하기 4 첫째 줄에.. 2022. 3. 25.
[탐색/BFS] 백준 16236 아기 상어 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 2. 문제 풀이 아기 상어가 먹을 수 있는 먹잇감을 모두 먹는 데에 걸리는 시간을 구하는 문제입니다. 자신보다 작은 물고기만 먹을 수 있고, 크기 2부터 시작합니다. 자신보다 큰 물고기는 통과할 수 없으며, 자신과 동일한 크기면 통과할 수 있습니다. 2022.02.23 - [Algorithm] - [Algorithm] 너비 우선 탐색(BFS), 가까운 주변부터 찾자 [Algorithm] 너비 우선 탐색(BFS.. 2022. 3. 24.
[구현/수학] 백준 2167 2차원 배열의 합 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 2167번: 2차원 배열의 합 첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 www.acmicpc.net 2. 문제 풀이 2차원 배열의 합을 구하는 문제입니다. (i, j)부터 (x, y)까지 '직사각형' 범위의 합만 구합니다. 1 2 3 4 5 6 (1, 3)부터 (2, 3)까지의 합은 9 (3+6) (1, 3)부터 (2, 3까지의 합이 (1, 3) + (2, 1) + (2, 2) + (2, 3)이 아닙니다. 3. 코드 import sys input = sys.stdin.readline .. 2022. 3. 23.
[자료구조/큐] 백준 18258 큐 2 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 2. 문제 풀이 자료구조 큐(Queue)를 구현하는 문제입니다. 2022.02.10 - [Algorithm] - [Algorithm] 큐(Queue), 선입선출 줄서기 자료구조 [Algorithm] 큐(Queue), 선입선출 줄서기 자료구조 [ Contents ] 1. 큐(Queue) 큐(Queue): 선입선출(First-in-First-out), 가장 먼저 들어간 자료부터 꺼내는 자료구조 .. 2022. 3. 22.
[Algorithm] 다익스트라(Dijkstra), 지름길의 지름길로 찾는 최적경로 다익스트라는 출발지부터 목적지까지의 최적 경로를 탐색해주는 알고리즘입니다. 다익스트라의 이론적 설명과 구현 방법, 경로 추적까지 살펴보겠습니다. [ Contents ] 1. 다익스트라(Dijkstra) 알고리즘 다익스트라(Dijkstra): 현재까지 찾은 최적경로를 바탕으로 목적지까지의 최단경로를 탐색하는 알고리즘 출발지에서 가까운 지점부터 차례대로 최단경로를 탐색하며, 목적지까지의 최단경로를 탐색하는 알고리즘입니다. 그리디 알고리즘 기법으로, 한 번 결정된 최단 경로는 절대 바뀌지 않으며 이를 바탕으로 목적지까지의 최단경로를 계산합니다. 예를 들어, 출발지 A에서 목적지 D까지의 최단경로를 구해봅시다. 다익스트라 알고리즘에서는 A 주변 노드부터 최단거리를 계산하고, 점차 넓혀갑니다. 아직 A와의 거리를.. 2022. 3. 22.
[탐색/백트래킹] 백준 9663 N-Queen - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 2. 문제 풀이 가로 세로 대각선에 겹치지 않게 N개의 퀸을 놓는 가짓수를 구하는 문제입니다. 2022.03.20 - [Algorithm] - [Algorithm] 백트래킹(Backtracking): 안될 싹은 미리미리 가지치기 [Algorithm] 백트래킹(Backtracking): 안될 싹은 미리미리 가지치기 DFS 탐색 중 가능성이 없는 방향은 가지 않는 '백트래킹' 기법에 대해서 알아보겠습니다. [ Contents ] 1... 2022. 3. 21.
[수학/그리디] 백준 1049 기타줄 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 2. 문제 풀이 M개의 브랜드 제품의 '하나 가격'과 '6개 가격'이 주어질 때, N개를 구입하는 데에 필요한 최소 비용을 구하는 문제입니다. 2022.01.26 - [Algorithm] - [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 [Algorithm] 탐욕적인 그리디 알고리즘, 직관적이고 쉬운 문제해결 경주마들을 자세히 보면, 양쪽 시야를 차단하는 안대를 끼고 있습니다. 이를 .. 2022. 3. 21.