백준 문제 풀이 Python 16

[백준] 2293번 동전 1 - 파이썬[Python]

-문제 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net -풀이 dp 리스트를 (k+1) 크기만큼으로 선언한다. 동전의 값 coin와 만들고자 하는 금액인 i 사이에는 아래와 같은 관계식이 성립한다. dp[i] += dp[i-coin] 단, i == coin일 경우에는 coin 하나로 i를 생성할 수 있기에 1을 더해준다. -소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import sys input = sys.stdin.readline coins = [] n..

[백준] 10869번 사칙연산 - 파이썬[Python]

백준에서 'automata' 님이 제작하신 'Python 배우기 (1~50)' 문제집을 차례로 풀이합니다. -문제 https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net -풀이 입력 받기 map 함수를 이용해서 a, b를 받아줍니다. 순서에 맞게 연산 시행결과 출력하기 차례로 덧셈, 뺄셈, 곱셈, 나눗셈의 몫과 나머지를 출력합니다. 주의) 파이썬에서 나눗셈의 몫고 나머지는 각각 // , % 기호로 연산할 수 있습니다. -소스코드 1 2 3 4 5 6 7 a, b = map(int, input().split()) ..

[백준] 10998번 AXB - 파이썬[python]

백준에서 'automata' 님이 제작하신 'Python 배우기 (1~50)' 문제집을 차례로 풀이합니다. -문제 https://www.acmicpc.net/problem/10998 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net -풀이 변수 받기 입력으로 주어지는 두 변수 A,B를 받기 위해서는 map 함수를 사용합니다. 예시) 2와 3이 입력으로 주어지고 이를 A와 B라는 변수에 저장한다. >> A, B = map(int, input().split()) 연산 파이썬에서는 두 숫자를 곱할 때 숫자를 저장한 변수 사이에 * 기호를 넣어 연산을 수행합니다. 예시) 각각 2와 3이 저장된 변수 a와 b의 곱셈 연산을 수행한다. >..

[백준] 1000번 A+B - 파이썬[python]

백준에서 'automata' 님이 제작하신 'Python 배우기 (1~50)' 문제집을 차례로 풀이합니다. -문제 https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net -풀이 변수 받기 입력으로 주어지는 두 변수 A,B를 받기 위해서는 map 함수를 사용합니다. 예시) 2와 3이 입력으로 주어지고 이를 A와 B라는 변수에 저장한다. >> A, B = map(int, input().split()) 연산 파이썬에서는 두 숫자를 더할 때 숫자를 저장한 변수 사이에 + 기호를 넣어 연산을 수행합니다. 예시) 각각 2와 3이 저장된 변수 a와 b의 덧셈 연산을 수행한다. >> ..

[백준] 2557번 Hello World - 파이썬[python]

백준에서 'automata' 님이 제작하신 'Python 배우기 (1~50)' 문제집을 차례로 풀이합니다. -문제 https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net -풀이 파이썬에서는 출력하고자 하는 문자열을 '-' , "-", '''-'''으로 감싸고 print 함수를 이용해 출력할 수 있습니다. 예시) 골슼 을 출력한다 >> print('골슼') -소스코드 print('Hello World')

[백준/Python] 11057번 오르막 수

오늘 유퀴즈 재방송에서 '인생이 계단이라면 올라가는게 더 힘들까요, 내려가는게 더 힘들까요?'라는 질문이 나왔어요. 여러분의 생각은 어떠신가요? (항상 문제 제목과 비슷한 뇌절을 치려하는데 버겁네요ㅋㅋㅋㅋㅋ) -문제 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net -풀이 : 동적계획번(DP)를 머릿속에 그려보자 -문제 받아들이기 수는 0부터 시작할 수 있으며, 다음 자리의 수는 현재 자리의 수보다 크거나 같아..

[백준/Python] 11055번 가장 큰 증가 부분 수열

-문제 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net -가장 간단한 풀이 : 완전 탐색&DP 예제를 보면서 풀어봐요 저는 가장 직관적으로 생각할 수 있는 풀이에 아주 조금의 변형을 가미해 문제를 풀었어요. 먼저 arr 라는 이름의 리스트에 0과 주어진 수열을 저장해요. arr=[0] arr += list(map(int, input().split())) arr = [0, 1, 100, ..

[백준/Python] 15486번 퇴사2

월요일의 일 하기 싫은 마음을 담아서 퇴사2를 풀어봅시당. -문제 https://www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net -풀이 접근 백준님이 퇴사를 하려고 한다. 퇴사 전 한끝을 태우기 위해 최대로 상담을 땡겨 돈을 벌려고 한다. 결국 마지막 날까지 벌 수 있는 돈의 최대값을 구하는 것이다. 첫날부터 주어지는 정보를 가지고 DP를 이용해 마지막 날까지 벌 수 있는 돈의 최대값을 구하자. 문제의 일반화 dp라는 각 날짜까..

[백준/Python] 9205번: 맥주 마시면서 걸어가기

문제 제목이 너무 낭만 넘치네요. 오늘도 최근에 풀던 것과 같이 BFS를 이용한 간단한 문제풀이가 되겠습니다! -문제 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net -문제 이해 조건 및 장치들 - 맥주는 총 20병을 가지고 있을 수 있으며 맥주 한 병당 50m를 갈 수 있다. 즉, 편의점을 들르지 않고 최대 1000미터를 갈 수 있다. - 편의점을 들르면 다시 맥주를 리필하기에, 편의점부터 1000미터를 더 갈 수 있다. - 거리는 맨해..

[백준/Python] 2573번: 빙산

'DFS+BFS 필수 문제' 문제집 문제집을 푸는 도중 이번 문제는 조그만 두 문제를 푸는 흥미로운 느낌이어서 가져와봤어요. -문제 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net -두개의 작은 문제 1): 1년이 지날 때마다 빙산의 높이가 어떻게 변하는지 확인하라 2): 빙산의 변화에 따라, 빙산이 몇개의 토막으로 나뉘는지 체크하라 3): 계속 반복하여 조건(빙산이 두조각으로 쪼개지거나, 한조각인채 가라앉거나)을 충족하는 시점에 중단하라..