[백준][Python] 1543 문서 검색 📄 https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 내 풀이 document = input() word = input() s = 0 ans = 0 while s + len(word) 코딩테스트 2024.03.09
[백준][Python] 7576 토마토 🍅 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 내 풀이 from collections import deque def bfs(): q = deque() for i in range(len(tomato_index)): q.append((tomato_index[i][0], tomato_index[i][1])) while q: cx, cy = q.popleft() for k in range(4): nx, ny = cx + dx[k].. 코딩테스트 2024.03.09
[백준][Python] 10026 적록색약 ❤️💚 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): global area q = deque() q.append((x,y)) visited[x][y] = True color = arr[x][y] # 현재 색 area += 1 while q: cx, cy = q.popleft() for k in range(4): nx, ny = cx + dx[k],.. 코딩테스트 2024.03.08
[백준][Python] 2583 영역 구하기 ◼️ https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): visited[x][y] = True q = deque() size = 0 if arr[x][y] == 0: q.append((x,y)) size += 1 while q: cx, cy = q.popleft() for k in range(4): nx, ny = cx + dx[k], cy.. 코딩테스트 2024.03.08
[백준][Python] 6118 숨바꼭질 🙈 https://www.acmicpc.net/problem/6118 6118번: 숨바꼭질 재서기는 수혀니와 교외 농장에서 숨바꼭질을 하고 있다. 농장에는 헛간이 많이 널려있고 재서기는 그 중에 하나에 숨어야 한다. 헛간의 개수는 N(2 코딩테스트 2024.03.07
[백준][Python] 14940 쉬운 최단거리 🗺️ https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): q = deque() q.append((x,y)) while q: cx, cy = q.popleft() for k in range(4): nx, ny = cx + dx[k], cy + dy[k] if 0 코딩테스트 2024.03.06
[백준][Python] 1303 전쟁 - 전투 ⚔️ https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): global our_power, enemy_power power = 1 visited[x][y] = True q = deque() current = arr[x][y] # 현재 병사 (B or W) q.append((x, y)) while q: cx, cy = q.popleft().. 코딩테스트 2024.03.06
[백준][Python] 1743 음식물 피하기 🍱 https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): size = 0 # 현재 음식물의 크기 visited[x][y] = True q = deque() if arr[x][y] == 1: # 음식물인 경우 q.append((x,y)) size += 1 while q: cx, cy = q.popleft() for k in.. 코딩테스트 2024.03.06
[백준][Python] 1926 그림 🎨 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 내 풀이 from collections import deque def bfs(x, y): global total_painting current_area = 0 visited[x][y] = True q = deque() if arr[x][y] == 1: q.append((x,y)) total_painting += 1 current_area = 1 while q: cx, cy = q.popleft() .. 코딩테스트 2024.03.05
[백준][Python] 14248 점프 점프 🪨 https://www.acmicpc.net/problem/14248 14248번: 점프 점프 첫 번째 줄에는 돌다리의 돌 개수 n이 주어진다.(1≤n≤100,000) 돌의 번호는 왼쪽부터 1번에서 n번이다. 다음 줄에는 그 위치에서 점프할 수 있는 거리 Ai가 주어진다.(1≤Ai≤100,000) 다음 줄에는 출 www.acmicpc.net 내 풀이 def dfs(s): if s > 0 and s 0 and s 코딩테스트 2024.03.05