전체 글 115

[백준 2578] 빙고

문제 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 알고리즘 1. 사회자가 불러주는 수의 값을 체크 할 수 있도록 빙고판과 같은 크기의 배열을 생성한다 2. 사회자가 값을 부를 때 마다 체크 한다 3. 체크 한 값이 12 이상일 때 마다 행과열의 합을 구해서 각 한 줄 씩 빙고가 성립한지 확인한다 4. 3줄이상 달성했을 경우 센 횟수 값을 출력하며 종료한다 코드 import sys def Input_Data(): readl = sys.stdin.readli..

Algorithm 2024.02.10

[백준 2583] 영역 구하기

문제 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 알고리즘 1. 주어진 사각형의 좌표를 조회해서 해당영역을 그래프에 1로 채워준다 (초기화 0으로) 2. 2차원 그래프를 조회해서 0으로 시작되는 구역이 나올때 section의 값을 올려준다 3. bfs순회시, 방문때 이미 간 곳은 2로 바꿔준다 코드 import sys from collections import deque def input_data(): readl = sy..

Algorithm 2024.02.04

[백준 6236] 용돈 관리

문제설명 https://www.acmicpc.net/problem/6236 6236번: 용돈 관리 현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 www.acmicpc.net 알고리즘 1. 사용할 수 있는 돈의 최소는 i일 동안 사용할 금액 중에 가장 큰 값, 그리고 돈의 최대는 모든 사용할 돈의 합이다 2. 해당 두 값으로 이분탐색을 진행한다 3. 이분탐색을 할 때, 돈 인출 수를 세어보고 더 많이 인출해야하는 경우 돈을 키우고 그렇지 않은 경우 금액을 줄인다 코드 import sys def Input_Data(): readl = sys.stdin.readline..

Algorithm 2024.01.31

[백준 3055] 탈출

문제설명 https://www.acmicpc.net/problem/3055 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 알고리즘 1. 그래프 정보 입력 2. 고슴도치 위치, 홍수 지역 정보 저장 3. 홍수 정보를 통해 1분당 홍수 그래프에 반영 4. 고슴도치 이동 반복 코드 import sys from collections import deque def Input_Data(): R, C = map(int,readl().split()) map_forest = [[0] + list(readl()[:-1]) + [0] if 1

Algorithm 2024.01.31