[백준][Python] 16928번 뱀과 사다리 게임 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 풀이 BFS알고리즘을 이용하여 풀어주었습니다. 코드 # 16928번 뱀과 사다리 게임 import sys from collections import deque input = sys.stdin.readline n, m = map(int, input().split()) board = [0]*(101) visited = [False]*(101) for _ ..
[백준][Python] 14716번 현수막 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/14716 14716번: 현수막 혁진이의 생각대로 프로그램을 구현했을 때, 현수막에서 글자의 개수가 몇 개인지 출력하여라. www.acmicpc.net 풀이 BFS알고리즘을 이용해서 문제를 풀어주었습니다. 코드 # 14716번 현수막 import sys from collections import deque dxys = ((1,0), (-1,0), (0,1), (0,-1), (1,1), (1,-1),(-1,1),(-1,-1)) M, N = map(int, input().split()) grid = [sys.stdin.readline().rstrip().split() for _ in range(M)] def bfs(s_x, s_y): queue = d..
[백준][Python] 2660번 회장뽑기 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/2660 2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net 풀이 모든 사람과 친구관계로 이어져 있어야하며 중간에 연결해주는 친구가 적을수록 회장이 될 수 있는 후보단에 들어갈 수 있습니다. BSF알고리즘을 이용해주었습니다. 직접적인 친구가 아닌 간접적인 친구의 계산을 위해서 deque에 이어주는 친구의 수를 계산해주는 변수를 추가해주었습니다. 코드 # 2660번 회장뽑기 import sys from collections import deque input ..
[백준][Python] 25206번 너의 평점은 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 풀이 딕셔너리를 이용해서 등급에 따른 학점을 구현해준 뒤에 출력이 요구하는 답을 출력해줄었습니다. 코드 # 25206번 너의 평점은 import sys input = sys.stdin.readline total_score = 0 total_grade = 0 score_dic = {"A+": 4.5, "A0":4.0, "B+":3.5, "B0":3.0, "C+":2.5, "C0":2.0, "D+":1.5..
[백준][Python] 2636번 치즈 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/2636 2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진 www.acmicpc.net 풀이 BFS 알고리즘을 이용하여서 문제를 풀어주면 됩니다. 단순한 알고리즘 구현이 가능하다면 무리없는 문제입니다. 코드 # 2636번 치즈 import sys from collections import deque input = sys.stdin.readline m, n = map(int, input().split()) grid = [list(map(int, input().split())) for _ in ..
[백준][Python] 16953번 A → B - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 풀이 bfs를 이용하여서 문제를 풀어주었습니다. 코드 # 16953번 A → B from collections import deque a, b = map(int, input().split()) def bfs(): queue = deque([]) queue.append([0, a]) while queue: cnt, c_a = queue.popleft() if c_a < b: queue.append([cnt+1, c_a*2]) queue.append([cnt+1, int(str(c_a)+"1")]) if c_a == b: r..
[백준][Python] 17141번 연구소 2 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net 풀이 요구 주어진 연구소의 빈칸을 모두 바이러스에 감염되게 하는데 소요되는 최소시간을 구해주는 것이 문제의 요구이다. 조건 바이러스에 감염되는 시간은 바이러스의 위치에 따라 달라진다. 전체 빈칸이 감염되었는지 확인하기 위해 빈칸의 개수와 바이러스가 놓일 수 있는 칸의 개수를 구해주었다. 구현방법 바이러스의 위치를 조합(Combination라이브러리)를 통해서 구현해준다. 바이러스가 퍼지는 알고리즘은 상하좌..
[백준][Python] 1049번 기타줄 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 풀이 브랜드별로 주어지는 패키지(6개 묶음) 가격, 낱개 가격을 비교하여 브랜드와 상관없이 가장 싼 패키지 가격과 낱개 가격을 구해줍니다. 구해준 최소 패키지 가격과 낱개 가격을 이용해서 패키지+낱개 조합, 패키지 조합, 낱개 조합을 이용하여 가장 싸게 기타줄을 구입할 수 있는 가격을 출력해줍니다. 코드 # 1049번 기타줄 import sys N, M = map(int, sys.stdin.r..
개발자 성현
개발새발 블로그