본문 바로가기

작업/Problem Solving

(60)
백준 1010번(다리 놓기) 파이썬(python)으로 해결 백준 1010번은 경우의 수를 구하는 방법입니다. 이는 수학의 힘을 빌려 공식을 쉽게 알아낼 수 있었습니다. 조건 서쪽(N)과 동쪽(M)의 사이트 개수가 같으면 경우의 수가 1이다. (사이트의 중복이 허용되지 않기 때문) N의 값은 M의 값보다 크면 안 된다. 첫 입력은 경우의 수를 만들 케이스의 개수 다음 입력부터 경우의 수를 만들 N, M값 입력 출력은 경우의 수 과정을 한 번 생각해 보도록 하겠습니다. 순열 예시 수학에서 흔히 예로 드는 것은 전체 학생 수에서 임원을 뽑는 경우의 수입니다. 전체 학생수 (M) = 4 반장 1명 부반장 1명 (N) =2 반장과 부반장은 역할이 다르기에 같은 분류라고 할 수 없습니다. 즉 각각의 인원이 반장이 될 경우와 부반장이 될 경우가 상이하다는 뜻이며 이는 순서에..
백준 1009번(분산처리) 파이썬(python)으로 해결 1009번... 런타임 오류만 수 없이 떠서 고생했습니다. 총 10대의 컴퓨터는 각각 1개의 데이터를 처리하는 역할을 합니다. 1=1, 2=2, 3=3, 4=4,... 10=10 조건 입력의 첫 줄은 테스트를 진행활 횟수를 입력 받는다. 다음 줄부터 테스트할 정수 a, b를 한 번의 엔터로 입력한다. 마지막 데이터를 처리할 컴퓨터의 번호를 출력한다. 예외처리까지 삽입해서 해결해 보려고 했는데 런타임 오류가 없어지질 않아서... 오로지 문제만 해결할 수 있는 코드를 작성해 보았습니다. (공부할 겸 예외처리도 만들어 보았습니다.) 접근 먼저 연속된 a와 b의 값을 받기 때문에 리스트 형식으로 만들기로 했습니다. 이후 출력도 for문으로 연속해서 출력할 수 있는 이점을 활용한 겁니다. 1. 빈 리스트를 만들고..
백준 2588번(곱셈) 파이썬(python)으로 해결 안녕하세요. 천보기입니다. 백준 2588 해결입니다! (세 자리 자연수) * (세 자리 자연수)의 결과를 출력하라는 문제입니다. 조건 입력은 한 줄씩 (1), (2) 출력은 한 줄씩 (3), (4), (5), (6) 순서대로 (6)의 경우에는 두 입력값을 그대로 곱하면 나오는 값이라 문제 X (3)의 경우는 472 * 5 (4)의 경우는 472 * 8 (5)의 경우는 472 * 3 각각의 값들이 (2)의 입력값에서 한 자리만 꺼내 곱한 것과 같습니다. 값들을 어떻게 하나씩 꺼내올까요...? 385를 하나의 숫자로 인식하는게 아니라 3, 8, 5 라는 하나의 값들로 인식시킬 수 있는 방법을 사용했습니다. *숫자를 문자열로 치환하여 분리하기* input() 함수로 입력을 하고 나면 입력값을 무엇으로 지정할지..
백준 1008번(A/B) 파이썬(python)으로 해결 파이썬을 공부하면서 백준에 있는 문제들에 적용해 보려고 합니다. 1008번 문제는 나누기를 하는 프로그램을 만드는 문제입니다. 조건 1. 첫째 줄에 A값과 B값을 연속으로 입력받는다. 2. 0