SWLUG/python 20

[파이썬/백준] 1453번: 피시방 알바

https://www.acmicpc.net/problem/1453   문제 설명 -> n명 손님 수 입력받고, n번만큼 앉고 싶어하는 자리 입력 (1부터 100까지... 배열로 구현...?)-> 자리 차있으면 거절 (거절된 사람 수만큼 출력 = 즉 중복된 수)   문제 풀이   코드는 아래와 같다.N = int(input())customer = list(map(int, input().split()))sit = [0 for j in range(101)]cnt = 0for i in customer: if sit[i] == 0: sit[i] = i else: cnt += 1print(cnt) 설명을 좀 해보자면 일단 몇 명 손님 받는지 변수 N에 입력받고, n명만큼 원하는 ..

SWLUG/python 2024.11.26

[파이썬/백준] 2346번: 풍선 터뜨리기

https://www.acmicpc.net/problem/2346    문제 설명 터진 애들을 따로 리스트로 구현해서 출력이미 터졌으면 부호에 따라 다음으로 넘어감-이면 앞으로 가고, +이면 뒤로 감 (0을 기준으로 연산)풍선은 번호와 안에 적힌 수를 enumerate로 구현반복문으로 풍선 개수만큼     문제 풀이  출력은 터진 풍선의 번호를 차례로 나열하는 것 (번호 = 인덱스+1)즉, 인덱스 번호가 그대로 끝까지 유지되어야 함. 이를 위해 -> enumerate 사용 enumerate란?파이썬 내장 함수순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 받았을 때, 인덱스와 값을 포함하여 리턴for문과 함께 자주 사용됨인덱스와 값을 동시에 접근하면서 루..

SWLUG/python 2024.11.04

[파이썬/백준] 24511번: queuestack

https://www.acmicpc.net/problem/24511  문제 설명    문제 풀이큐는 0, 스택은 1큐 - 선입선출 First In First Out스택 - 후입선출 Last In First Out  스택은 넣었던 거 그대로 튀어나오므로 큐의 원소들을 모아서 왼쪽부터 차례대로 pop한다 예시 1에서  0 1 1 0 순서 (큐, 스택, 스택, 큐)로 1 2 3 4 가 들어있음 1번 큐 : 1 2번 큐 : 2 3번 큐 : 3 4번 큐 : 4 가 들어가 있는 상태임 2 4 7을 입력하면 1번에 2 들어가고 1 2 가 들어간 상태 -> 선입선출로 1 pop 2번에 pop된 1 입력하면 2 1 이 되고 -> 후입선출로 1 pop 3번에 pop된 1 입력하면 3 1 이 되고 -> 후입선출로 1 pop..

SWLUG/python 2024.11.04

[파이썬/백준] 1051번: 숫자 정사각형

https://www.acmicpc.net/problem/1051  문제 설명      문제 풀이  1) 모든 좌표 (i, j)에 대해 반복문을 사용해 탐색을 시작(i, j)를 기준으로, 이 위치에 적혀 있는 숫자와 동일한 숫자를 가진 정사각형을 만들 수 있는지 확인 2) (i, j) 위치에 있는 숫자와 동일한 숫자가 j 열의 아래쪽에 있는지 확인(i, j) 위치에 숫자가 5라고 하면, 이 숫자가 (i + d, j) 위치에도 있는지 확인.*d : 정사각형 한 변의 길이 - 1에 해당하며, 계속 증가해가면서 가장 큰 정사각형을 찾음 3) 동일한 숫자를 찾았으면, 그 숫자와 함께 j 열의 다른 위치에서 같은 d 길이를 가지는 정사각형이 범위 내에 존재하는지 확인j 열과 같은 방식으로 i 행의 (j + d) ..

SWLUG/python 2024.10.29

[파이썬/백준] 1045번 : 도로

https://www.acmicpc.net/problem/1045     문제 설명    문제 풀이 연결되어 있으며 우선순위가 가장 높은 도로 집합 찾기우선, 도시 개수 N개와 도로 개수 M개 주어짐도로의 우선순위는 작은 번호를 기준으로 우선적으로 처리튜플을 통해 도시끼리 연결되었는지 확인 - 모든 도시를 연결- 이를 위해 최소한의 도로만 사용- 우선순위가 높은 도로부터 선택해서 우선순위가 가장 높은 집합이어야 함- 사이클이 없어야 함 이를 위해 최소신장트리(MST)의 크루스칼 알고리즘을 사용     신장 트리그래프 내의 모든 정점을 포함하는 트리로, 최소의 간선으로 모든 정점이 연결되어 있는 순환성이 없는 부분 그래프이다.신장 트리는 최소의 간선 V-1개의 간선으로 구성되기 때문에 하나의 그래프에 여러..

SWLUG/python 2024.10.29

[파이썬/백준] 1012번 : 유기농배추

https://www.acmicpc.net/problem/1012  문제 설명      배추흰지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것-> 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 되므로 서로 인접해있는 배추들이 몇 군데에 퍼져있는지 조사하면 총 몇 마리의 지렁이가 필요한지 알 수 있다. 예를 들어 배추밭이 아래와 같이 구성되어 있으면 최소 5마리의 배추흰지렁이가 필요하다. 0은 배추가 심어져 있지 않은 땅이고, 1은 배추가 심어져 있는 땅을 나타낸다.  입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 첫째 줄 : 배추를 심은 배추밭의 가로길이 M(1 ≤ M ≤ 50)과 세로길이 N(1..

SWLUG/python 2024.09.30