본문 바로가기
반응형

알고리즘 풀이/백준125

[백준 17281] ⚾ 야구 (python) https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net ⚾ 문제 주어진 야구 룰 대로 구현하여 점수를 구하는 문제 주어진 조건 중 일부를 구현을 어떻게하면 좋을지 생각했는데, 원하는 형태로 구현에 실패했음 다른 사람의 코드를 일부 참고하고서야 성공 할 수 있었다. 정답 코드 import sys from itertools import permutations N = int(sys.stdin.readline()) game = [list(map(int, sys.s.. 2023. 3. 5.
[백준 7569] 토마토 (python) https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 토마토 문제 상자안에 놓여있는 토마토가 옆으로 갈수록 익어가는데, 전체 토마토가 익는데 걸리는 최소 일 수를 찾는 문제이나, 2차원이 아닌 3차원으로 고려해줘야하는 문제 BFS를 활용하여 풀고, 3차원 리스트로 만들어주면 간단하게 해결 할 수 있는 문제 내가 푼 정답코드 def ripe(): # 3차원 리스트의 BFS while queue: z, y, x = queue.po.. 2023. 3. 4.
[백준 7576] 토마토 (python) https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 토마토 문제 상자안에 놓여있는 토마토가 옆으로 갈수록 익어가는데, 전체 토마토가 익는데 걸리는 최소 일 수를 찾는 문제 BFS를 활용하여 풀면 간단하게 해결 할 수 있는 문제 내가 푼 정답코드 def ripe(): while queue: y, x = queue.popleft() for dy, dx in spread: ny, nx = y + dy, x + dx if 0 2023. 3. 4.
[백준 2178] 미로 탐색(python) https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 미로 탐색 문제 미로를 탐색해 나갔을 때, 도착 지점에 도착할 경우 총 몇 칸을 이동하게 되는지 구하는 문제 BFS를 활용하면 간단하게 풀 수 있는 문제 내가 푼 정답코드 def finding(a,b): #길을 찾아주자 visited = [[0]* M for _ in range(N)] queue = [[a,b]] visited[a][b] = 1 # 방문 처리 while queue: y, x = queue.pop(0) for dy.. 2023. 3. 3.
[백준 1012] 유기농 배추(python) https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 유기농 배추 문제 인접해있는 칸들로 이루어진 영역이 총 몇개인지 구하는 문제 BFS나 DFS를 이용하면 쉽게 풀 수 있는 문제 내가 푼 정답코드 def warm(a,b): visited = [[0]*M for _ in range(N)] queue = [[a,b]] visited[a][b] = 1 cnt = 0 while queue: cnt += 1 y, x = queue.pop(0) for dy, dx in .. 2023. 3. 3.
[백준 10431] 줄 세우기(python) https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 줄 세우기 문제 자기 앞에 자기보다 키 큰 학생과 자리를 바꾸는 횟수를 구하는 문제 말만 길지 은근 낚시 문제 내가 푼 정답 코드 def Bubblesort(List): #정렬할 list, 원소 수 N global cnt for i in range(len(List)-1, 0, -1) : # 범위의 끝 for j in range(i) : if List[j] > List[j+1] : #현재 항이 다음 항보.. 2023. 3. 2.
반응형