소프트웨어11 백준 BOJ <1085번> 직사각형에서 탈출 || 파이썬 www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 요약: 직사각형에서 빠져 나갈 수 있는 가장 짧은 길이는? 매우 간단한 문제이다. 입력 받은 x,y값이 있을 때, 아래의 그림처럼 빨간선 4개의 길이를 모두 비교해 가장 짧은 것을 출력하면 끝. 최종 코드는 다음과 같다. for문으로 돌려가며 비교할 수 있지만, 4개의 값을 모두 리스트에 넣어놓고 min() 함수를 이용하면 간단하게 답을 찾을 수 있다. 소프트웨어/백준 2023. 8. 23. 백준 BOJ <1094번> 막대기 || 파이썬 www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 문제 요약: n을 입력 받았을 때, 그 n의 값을 64, 32, 16, 8, 4, 2, 1(cm) 막대기를 몇 개 이어야 만들 수 있을까? 23은 16+4+2+1 이므로 4개. 이 문제를 딱 보면 2진수가 생각난다. 2진수는 수를 다음과 같이 표현한다. 101010101010.. 이때 일의 자리수는 2^0 십의 자리수는 2^1..처럼 수를 나타내므로 위 문제와 완벽히 똑같아 진다. 따라서 코드는 다음과 같다.. 소프트웨어/백준 2023. 8. 23. 백준 BOJ <1076번> 저항 || 파이썬 www.acmicpc.net/problem/1076 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 색은 모두 위의 표에 쓰여 있는 색만 주어진다. www.acmicpc.net 문제 요약: 처음 두 값은 문자열의 덧셈으로, 마지막 값은 그 값에 10^n을 곱해주자. 최종 코드는 다음과 같다. 해설: black 부터 white 까지 lst라는 리스트에 넣어주자. ein과 zwei에 들어온 값을 문자열의 저장을 위해 input()으로 들어온 값을 index()를 통해 그 값이 배열에서 몇 번째인지를 찾아낸다. 두 값(문자열)을 더하고, int형으로 바꾼 곱을 곱해준다. 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1075번> 나누기 || 파이썬 www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 문제 요약: A와 N을 입력 받는다. A의 일의 자리와 십의 자리를 어떻게 잘 바꿔서 N으로 나누어 떨어지는 가장 작은 수로 만든다. 그때의 일의 자리와 십의 자리를 출력한다. 파이썬 초보도 조금만 고민하면 풀 수 있는 간단한 문제. 코드는 다음과 같다. 위 코드에서는 A를 n으로, N을 d로 표시했다. 이후에 n을 백의 자리 위로 자르거나, n의 길이가 1인 경우에는 공백으로 둔다. 이후에 반복문을 통해 00, 01, 02, 03, ..... 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1037번> 약수 || 파이썬 www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 요약: 어떤 수 A의 약수 중 1과 A가 모두 주어질 때, A의 값 구하기. 너무 간단하다. 주어진 값 중에 최솟값과 최댓값을 찾아서 곱해주면 끝 코드는 다음과 같다. map() 함수로 받은 값을 1개의 변수에 저장하면 리스트가 아니라 예기치 못 한 값이 저장된다. list(map())을 통해 list로 저장해주고, min()과 max() 함수를 이용해 값을 찾아 곱한 값을 출력해주자. 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1010번> 다리 놓기 || 파이썬 www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 확률과 통계를 이용한 간단한 문제 문제 요약 좌측에 n개, 우측에 m개의 사이트, m개 중 n개의 사이트에 다리를 꼬이지 않게 놓으려고 한다. 경우의 수는? '꼬이지 않게'가 포인트다. 이미 순서가 정해져 있는 것. 즉, n1은 m개 중 n개를 선택한 것에서 제일 위, n2는 그 다음 위, n3는 그 다음.. 이런 식으로 따라서 우리는 m개중 n개를 정해주기만 하면 된다. 즉 수학식으로는 mCn 따라서 코드는 .. 소프트웨어/백준 2021. 5. 12. 백준 BOJ <21631번> Checkers || 파이썬 www.acmicpc.net/problem/21631 21631번: Checkers The only line of input contains two integers $a$ and $b$ --- the number of white and black pieces, respectively ($0 \le a, b \le 10^{18}$). www.acmicpc.net 영어 문제. 내용도 쉽고 코딩은 더더욱 쉽다. 내용을 요약하자면, white와 black의 개수가 주어졌을 때, 만들 수 있는 최대 black stripes, 즉 검은색 줄무늬의 개수를 출력하는 것이다. white의 개수를 a, black의 개수를 b라 하자, a=0 b=2일 땐, b 2개가 모두 붙어서 1개의 줄무늬를 만드므로 output = 1.. 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1008번> A/B || 파이썬 www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 최종 코드는 다음과 같다. 자세한 설명은 본 글 제일 아래에 있는 링크를 참조하라. 1000번 문제와 동일한 시리즈의 문제이다. 자세한 설명은 아래 링크. jvedi.tistory.com/2 ERROR 404 // 백준 BOJ A+B, 파이썬 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 여러 줄에 걸쳐서 입력이 주어진다면 a=int(input()) b=int(input()) .. 과 같이 여러번의 형태로 받으면.. jvedi.tistory.com 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1003번> 피보나치 함수 || 파이썬 www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제에서 주어진 fibonacci 함수를 파이썬에서 작성하면 다음과 같은 재귀함수를 만들 수 있다. 하지만 이를 그대로 이용해 문제를 풀려고 하면 런타임에러나 시간초과 메모리 초과등과 같은 문제를 띄울 것이다. 이유는 fibonacci 함수가 한 번 들어가면, 2번의 함수를 재귀 호출하기 때문이다. 따라서 이는 다른 방식으로 해결할 필요가 있다. 그 중 하나의 방법이 배열을 이용한 것이다. 그 이전에, 0과 1을 호출하는 횟수또한 피보나치 수열에 따른다는 것을 이해하고 가야한다. 간략하게 표시한 것이지만, .. 소프트웨어/백준 2021. 5. 12. 백준 BOJ <1001번> A-B || 파이썬 www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 자세한 설명은 아래의 글을 참조하자 똑같은 시리즈의 기본 문제 jvedi.tistory.com/2 ERROR 404 // 백준 BOJ A+B, 파이썬 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 여러 줄에 걸쳐서 입력이 주어진다면 a=int(input()) b=int(input()) .. 과 같이 여러번의 형태로 받으면.. jvedi.tistory.com 소프트웨어/백준 2021. 5. 11. 백준 BOJ <1000번 > A+B || 파이썬 www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 여러 줄에 걸쳐서 입력이 주어진다면 a=int(input()) b=int(input()) .. 과 같이 여러번의 형태로 받으면 되지만 문제의 입력은 한 줄로 주어진다. 이와 같은 경우에는 map() 함수를 쓰자 input() 함수로 들어온 값을 split() 메소드를 통하여 띄어쓰기 단위로 구분해준다. 이후 int형으로 변환, 이후 변수 a, b에 순서대로 넣어준다 이후 두 값을 print(a+b) 를 통해 출력하자 소프트웨어/백준 2021. 5. 11. 이전 1 다음