본문 바로가기

코딩테스트/백준 알고리즘 풀이30

[백준 알고리즘/python] 백준 1436번 영화감독 숌, 파이썬 설명 이번 문제는 백준 알고리즘의 브루트포스 단계, 1436번 영화감독 숌이다. 내가 풀면서 생각했던대로, 설명을 해 보려 한다. 문제 출처 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 먼저, 브루트포스 단계이다. 브루트 포스는 단순히 그냥 가능한 경우의 수를 전부 때려박는 알고리즘이다. 그럼 문제 접근을 어떻게 해야할까? 문제 해석을 먼저 해 보도록 하자. 문제 해석 #1. 숌이라는 염화감독은, 영화 제목에다 종말의 숫자인 666을 넣어서, .. 2020. 9. 27.
[백준 알고리즘/python] 백준 1018번 체스판 다시 칠하기, 파이썬 설명 백준 알고리즘의 브루트 포스 단계, 1018번 체스판 다시 칠하기를 파이썬으로 풀어보았다. 문제 출처 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제는 난이도가 조금 있었다. 문제 해석 먼저 하자면 #1. 크기가 N*M이고, 흰색과 검은색으로 막 칠해져있는 보드판이 있다. #2. 이 보드판을 잘라서 8*8크기의 체스판으로 만들려고 한다. #3. 체스판은 흰색과 검은색이 번갈아가며 체크무늬를 이루어야 한다. #4. 보드판을 잘라서.. 2020. 9. 13.
[백준 알고리즘/python] 백준 7568번 덩치, 파이썬 설명 백준 알고리즘 브루트 포스 단계의 7568번 '덩치' 문제를 파이썬으로 풀어보았다. 풀면서, 내가 한 생각을 토대로 설명을 포스팅 해 보려 한다. 문제 출처 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩� www.acmicpc.net 문제는 위의 링크에서 볼 수 있다. 먼저 문제 해석을 해 보면 #1. 첫 줄에는 사람의 수가 주어진다. #2. 둘째 줄에는, 사람의 덩치가 (몸무게, 키)의 형태로 한 줄에 한명의 정보가 주어진다. #3. 이를 바탕으로, 덩치의 .. 2020. 9. 13.
[백준 알고리즘/python] 백준 2231번 분해합, 파이썬 오늘은 백준 알고리즘 2231번 분해합을 풀어보았다. 물론 파이썬을 사용했다. 이 문제는 브루트 포스라는 개념을 이용하는 것이다. 문제를 보면 그렇게 어렵지는 않다. 항상 그렇지만 이해만 한다면 말이다. #생각 1. 첫줄에 N을 입력으로 받고, 가작 작은 생성자를 구해야한다. #생각 2. N이 주어지면, 1씩 빼면서 각각 분해합을 구하고, 가장 작은 분해합을 저장한다. #생각 3. 부분합을 구하는 부분은 함수처리 해주면 될 것 같다. 이렇게 문제를 쪼개어서 코드를 작성했다. 이렇게 해서 완성된 코드는 def dis_sum(N): M = str(N) result = 0 for i in M: result = result + int(i) result = result + N return result N = in.. 2020. 8. 13.
[백준 알고리즘/python] 백준 2798번 블랙잭, 파이썬 백준 알고리즘 2798번 블랙잭,파이썬 이번 문제는 백준 알고리즘의 2798번 블랙잭을 파이썬으로 풀어보았다. 브루트포스에 있는 문제이다. 브루트포스는 자원이 충분하다고 가정하면 가장 무서운 알고리즘인데, 그 이유느 성공률이 100%를 자랑한다. 코드를 잘 보면 알겠지만, 그냥 경우의 수를 다 때려박는 노가다 알고리즘이다. 문제조건 #1. 첫째줄에는 카드의 개수 N과 넘지 않아야하는 수 M이 주어진다 #2. 둘째줄에는 카드의 번호가 주어진다 #3. 카드를 3장을 뽑아서 넘지 않으면서 가장 가까운 카드의 합을 출력한다. 문제 자체는 간단하다. 문제에 대한 내 생각이다 #생각1. 브루트포스는 노가다 알고리즘이니까, 카드가 3개있으니 for문을 3중으로 돌려서 다 경우의수를 다 때려 박는다. #생각2. 3장의.. 2020. 5. 1.