[백준][Python] 13565번 침투 - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net 풀이 BFS알고리즘을 이용하여서 문제를 풀어주었습니다. 문제에서 말하는 바깥쪽은 격자의 맨 윗줄을 뜻합니다. 안쪽은 격자의 맨 아랫줄을 뜻합니다. 코드 # 13565번 침투 import sys from collections import deque input = sys.stdin.readline M, N = map(int, input().split()) grid ..
[백준][Python] 11004번 K번째 수 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 sorted()를 이용하여서 문제를 풀어주었습니다. 코드 # 11004번 K번째 N, K = map(int, input().split()) arr = sorted(list(map(int, input().split()))) print(arr[K-1]) 출력결과
[백준][Python] 2587번 대표값2 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 풀이 주어진대로 구현을 해주면됩니다. 다만 중간값을 구할 때는 sort()를 이용해주었습니다. 코드 # 2587번 대표값2 arr = [int(input()) for _ in range(5)] print(f'{sum(arr)/5:.0f}') print(sorted(arr)[2]) 출력결과
[백준][Python] 10825번 국영수 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 풀이 .sort() 메서드에서 key파라미터에 lambda를 적용하여 풀어주었습니다. 이 풀이 외에도 입력 받을 때 과목의 점수에 -를 붙여주어서 .sort()로 처리하는 방법도 있습니다. 코드 # 10825번 국영수 import sys input = sys.stdin.readline t = int(input()) arr = [] for _ in range(t): n, a, ..
[백준][Python] 10867번 중복 빼고 정렬하기 - 코팩
·
백준/문자열 정렬
https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 중복된 숫자를 제거해주기 위해 set()을 사용하였습니다. 이후에 오름차순으로 출력하기 위해 .sort() 메서드를 사용해주었습니다. 코드 # 10867번 중복 빼고 정렬하기 import sys n = int(sys.stdin.readline()) arr = list(set(map(int, sys.stdin.readline().split()))) arr.sort() print(*arr) 출력결과
[백준][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 ..
개발자 성현
개발새발 블로그