[백준][Python] 15651번 N과 M (3) - 코팩
·
백준/백트래킹
https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 중복조합을 구현해주는 문제입니다. 백트래킹으로 구현해주어도 되지만 파이썬의 라이브러리인 itertools의 product(데카르트 곱을 구현해주는)를 이용해서 문제를 풀어줘도 좋습니다. 코드 # 15651번 N과 M(3) import sys sys.setrecursionlimit(10000) n, m = map(int, input().split()) arr = [] def find_num(..
[백준][Python] 17836번 공주님을 구해라! - 코팩
·
백준/DFS&BFS
https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 풀이 bfs()알고리즘을 이용해서 문제를 풀어주면 됩니다. 다만 벽을 부술 수 있는 그람을 발견하면 벽과 상관없이 공주를 찾으러 갈 수 있기 때문에 그람을 찾는순간 그 위치에서 최단거리를 계산해주면 됩니다. 코드 # 17836번 공주님을 구해라! # 0은 빈공간 1은 벽 2는 그람을 의미한다. import sys from collections import deque input = ..
[백준][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 _ ..
개발자 성현
'백준' 카테고리의 글 목록 (8 Page)