본문 바로가기

코딩테스트34

[백준 알고리즘/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.
[백준 알고리즘/python] 백준 2775번 부녀회장이 될테야, 파이썬 백준 알고리즘 2775번 부녀회장이 될테야, 파이썬 이번 문제는 백준 알고리즘의 2775번 부녀회장이 될테야. 문제이다. 파이썬으로 풀어보았다. 문제를 대충 설명하면 아파트의 거주 조건이 A층의 B호에 살려면 A-1층에서 B호까지 있는 사람들 수의 합만큼 데려와 살아야한다. 또, 0층의 i호에는 i명의 사람이 살고 있다. 이게 이렇게 보면 뭔말인가.. 싶겠지만 대충 표로 정리하면 한 눈에 보인다. 4층 1 6 21 56 126 252 3층 1 5 15 35 70 126 2층 1 4 10 20 35 56 1층 1 3 6 10 15 21 0층 1 2 3 4 5 6 1호 2호 3호 4호 5호 6호 그러니까 예를 들어서, 빨갛게 표시 해 놓은 2층의 3호에 살려면 1층의 1호부터 3호까지있는 1 + 3 + 6 .. 2020. 4. 3.