[백준] 7576번 토마토 - 파이썬
·
백준/DFS&BFS
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 전제 조건. 1, "익은" 토마토가 존재한다면 창고에서 1로 표현된다. 2, "익지않은" 토마토가 존재한다면 창고에서 0으로 표현된다. 3, 창고 안에는 벽이 존재하는데 이 벽은 인접한 토마토가 익지않게 막는다. 창고에서 -1로 표현된다. 목표: 창고안에 존재하는 토마토가 전부 익을 수 있다면 익게되는데 걸리는 최소 일 수를 출력한다. 만일 창고 안의 모든 토마토가 익지 못한..
[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 풀이 단순 구현 문제이기에 문제를 풀어주시면 됩니다. # 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 n = list(map(int, input().split())) # 원래 필요한 말의 개수. right_nums = [1, 1, 2, 2, 2, 8] # 입력과 필요한 말의 개수를 비교해준다. for i in range(6): print(right_nums[i] - n[i], end=" ") 출력결과
[백준] 16395번 파스칼의 삼각형 - 코팩
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/16395 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 풀이 다이나믹 프로그래밍을 위해 dp테이블을 생성하여 문제를 풀어줍니다. # 16395 파스칼의 삼각형 n, m = map(int, input().split()) s = [[1 for _ in range(i)] for i in range(1, 31)] for i in range(2, 30): for j in range(1, i): s[i][j] = s[i-1][j-1] + s[i-1]..
[백준] 15624번 피보나치 수 7 - 파이썬
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/15624 15624번: 피보나치 수 7 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 피보나치 수 문제입니다. 이전 문제들과 차이가 있다면 메모리 제한이 주어진 입력값에 비해서 작기에 DP테이블을 사용하지않고 for문안에서 변수 2개를 이용해서 계산에 필요한 수만 저장해놓는 방법으로 풀어주었습니다. # 15624번 피보나치 수 7 n = int(input()) a = 0 # i-2 자리 b = 1 # i-1 자리 if n == 0: print(0) else: for _ in range(2, n+1): a %= 1000000007 b %= 1000000007 a, b = b,..
[백준] 24416번 알고리즘 수업 - 피보나치 수 1 - 파이썬
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/24416 24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 풀이 실행횟수를 출력해주는 문제입니다. 다만 시간 초과를 방지하기 위해 PyPy3으로 제출해주시길 바랍니다. # 24416번 알고리즘 수업 - 피보나치 수 1 k = int(input()) ans_1 = 0 ans_2 = 0 def fib(n): global ans_1 ans_1 += 1 if (n == 1 or n == 2): return 1; else: return (fib(n ..
[백준][Python] 2748번 피보나치 수 2 - 코팩
·
백준/다이내믹 프로그래밍
https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 풀이 피보나치 수 구하는 문제를 다이나믹 프로그래밍을 통해서 풀어주면 됩니다. 테이블(이전 수를 저장해놓은 리스트)을 이용하여 재귀함수로 풀었을 때 중복되는 계산을 없애줍니다. # 2748번 피보나치 수 2 n = int(input()) d = [0] * 91 # 테이블 d[1] = 1 d[2] = 1 if n < 2: print(d[n]) else: for i..
[백준] 10026번 적록색약 - 파이썬
·
백준/DFS&BFS
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 풀이 문제는 BFS로 풀어주었습니다. 정상인 사람과 적록색약 인 사람이 구분할 수 있는 영역의 개수를 출력하면 되는 문제입니다. 적록색약인 사람은 빨간색(R)과 녹색(G)이 구분되지 않기에 한가지의 색으로만 보입니다. 그래서 적록색약의 사람이 보는 그림의 색 중에서 R을 G로 바꾸어주었습니다. 문자열 메서드 중 하나인 replace() 메서드를 사용해주었습니다. 그 이후에는 BFS를 진행해..
[백준] 11050번 이항 계수 1 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 풀이 factorial 함수를 구현해주어서 이항계수 식을 유도해서 풀어주었습니다. 출력결과
개발자 성현
'백준' 카테고리의 글 목록 (16 Page)