728x90

코드 27

백준 17281 ⚾ 문제 코드/해설 (파이썬), 구현 문제, 삼성 A형 기출

으악 푸는데 엄청 오래걸렸다...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 나.....삼성갈수있을까 문제 코드만 궁금한 분은 깃허브 링크 눌러주세요 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 엄청 어려운 문제는 아닌데 ... 딱 봐도 구현이 귀찮아보여서 풀기가 영... 그런 문제이다. 문제 ..

백준 17136 색종이 붙이기 풀이, 코드 (파이썬) 구현문제 / 삼성 A형 기출

코드만 궁금한 분은 깃허브 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명ㄱㄱ 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 문제 풀이 1. (0, 0) 부분부터 (9,9) 부분까지 모두 각각 1x1 부터 5x5 까지 색종이가 들어갈 수 있는지 확인해본다. 2. 이 때, 당연히 각 부분이 1인 경우에 대해..

백준 16113 파이썬 풀이, 코드 (시뮬레이션 문제!)

코드만 궁금한 분은 깃허브 링크 눌러주세요! 개인적으로 시뮬레이션 문제들은 일반적으로 한시간정도는 구현하는데에 시간이 소요되는 것 같다. 지금도 뭐 풀만한것같아서.. 풀어봤는데 한시간 걸림..ㅡㅜ 문제 설명 문제 해결 논리 맨 윗쪽 줄의 맨 왼쪽 값부터 시작한다. 만약 현재값이 '#'이면 해당칸을 포함해서 3열 * 5행만큼의 칸이 어떤 수인지 확인한다. 만약 해당 값이 1이면 오른쪽으로 2칸만 움직이고, 그 외의 값은 3칸씩 모두 사용하므로 4칸을 옮겨서 다시 그 값이 '#'인지 확인한다. 공백이 1칸 이상이므로 만일 해당 값이 ' . ' 이면 오른쪽으로 1칸만 움직인다. 맨 마지막 혹은 그 앞쪽 열에 1이 들어가는 경우 3열 * 5행만큼의 칸이 확보되지 않으므로 그런 경우는 오른쪽 끝에 ' . '을 붙..

백준 2290 LCD Test 풀이 (파이썬) 시뮬레이션 연습하기

코드만 궁금한 분은 깃허브링크 눌러주세요~ GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 숫자를 입력받아 마치 LCD시계에 표시하듯 표시하면 되는 문제이다. 딱봐도 슬라이싱만 잘 활용하면 되는 문제. 문제 해결 논리 흠 논리랄게 있나? 위에 설명한대로 슬라이싱만 잘 하면 되는데, 딱 봐도 구현문제라 그냥 더럽게 푸는게 맞다. 나같은 경우는 8을 봤을때 맨위, 가운데, 맨아래의 '--'부분과 윗쪽의 좌-우 '|' 부분, 아랫쪽의 좌-우 '|' 부분 이렇게 총 7군데를 나눠서 풀었다. 숫자별로 출력 크기는 다르게될지 몰라도..

백준 12869 뮤탈리스크 풀이 (파이썬) dfs는 안되고 bfs는 되는 dp문제

코드만 궁금한 분은 깃허브 링크 눌러주세요..! 일단 나는 이 문제를 처음에 dfs로 풀었었다. 근데 아무리 해도 안돼서;(특히 25%에서 계속 안됨) 이유를 생각해봤다. 문제에서 경우의수가 너무 많은 만큼 dp로 3차원 리스트를 만들어서 이미 확인한 경우는 확인 안 하는 식으로 해서 문제를 풀어야 한다. 근데 이 때 이미 확인 안하는 것은, 이전에 확인한게 최선이라는 확답이 있는 경우에만 가능하다. 그런데 dfs로 문제를 풀면 그때까지의 계산 횟수가 얼마이든간에 우선적으로 많은 부분을 방문하게 되고, 이후에 계산 횟수가 더 적게 같은 상태에 도달할 수 있더라도 그 부분을 방문하지 않아버림으로 인해 오류가 나게 된다. dfs라도 방문/비방문 리스트가 아니라 어떤 값의 쌍까지 오는데에 걸린 계산횟수를 저장..

프로그래머스 아이템 줍기 풀이/해설 (파이썬) 간단한 코드! + 잡담

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 구현과 달리 문제는 간단하다. 여러개의 직사각형이 겹쳐져있는데 그 바깥쪽 라인만 따라서 한 지점에서 다른지점에서 이동하는데 그 최솟값을 리턴해야한다. 길이 하나로 연결돼있기때문에 경로는 총 두개가 나오고 그 중에 짧은거를 리턴하면 된다. 내가 생각한 문제 해결 논리 1. 그림에서 보면 알겠지만, 사각형들의 테두리가 다른 사각형과 겹치지 않은 경우, 그리고 테두리끼리 겹친 경우에는 합쳐진 도형의 바깥쪽 길로서의 역할을 한다. 그리고 테두리..

백준 2281번 데스노트 풀이/코드 (파이썬) 꽤 어려운 다이나믹 프로그래밍 문제

코드만 궁금한 분은 깃허브 링크 눌러주세요! 문제 설명ㄱㄱ 간단히 얘기하자면, 열의 갯수만 지정된 어떤 리스트가 있고 각 칸에 *을 넣는데 이 때 주어진 숫자만큼만 이어서 *을 넣을 수 있고 그 이후에는 한칸만 띠고 다시 *을 넣던가 혹은 다음 행으로 넘어가서 다시 *을 넣어야 한다. 이 때 각 행은 오른쪽 끝에 무조건적으로 0칸 혹은 몇개의 칸이 남게 되는데, 각 칸의 제곱의 합이 최소가 되는 경우를 찾아 그 최소값을 반환하는 문제이다. 이 때 마지막 행의 빈칸은 포함하지 않는다. 문제 해결 논리 1. 우선 dp라는 리스트를 선언하는데, 가로=열의 총 갯수, 세로=숫자의 총갯수이다. 2. n번째 숫자에 해당하는 별을 넣을 때에는 n-1번째의 별의 다음 행에 새로 시작할 수 있고, n-1째 별의 마지막에..

프로그래머스 10주차 교점에 별 만들기 풀이/코드 (파이썬)

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 문제는 간단하다. ax+by+c = 0 꼴의 방정식을 이루는 a,b,c 쌍들이 주어지고 모든 방정식의 교점을 구해 그 중 정수의 x좌표 y좌표를 갖는 경우에 한해서 * 처리를 하고 나머지 범위는 모두 '.' 을 입력한다. 이 때, 모든 별을 포함하는 가장 작은 직사각형 만큼은 '.'을 찍어야하고, 이 때 위와같이 문자열 리스트를 만들어서 리턴해야한다. 요새 백준만 풀다보니까 리턴하는게 어색했달까 아무튼 문제 해결 논리 1. for문을 통..

프로그래머스 단어 변환 문제 해설/코드 (파이썬), BFS활용문제

코드만 궁금한 분은 깃허브링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 문제 해결 논리 1. 주어진 단어들을 키로 하고 값은 False를 갖는 딕셔너리를 만든다. 2. 입력받은 단어들 중 시작 단어와 문자가 1개만 차이나는 단어를 모두 찾아내서 3. 아까 딕셔너리에서 지금 찾은 단어들의 값을 True로 바꾸고 4. 큐에 넣는데, 이 때 지금 찾은 단어만 넣는게 아니라 지금 몇번째 단계인지를 같이 입력한다. 5. 큐에서 단어를 새로 빼고 2~4를 반복한다. 이 때 아직 한번도 나오지 않은 단어들만 (딕셔너리에..

백준 15989번 1,2,3 더하기 4 해설/코드(파이썬) 다이나믹 프로그래밍 문제

풀이 코드만 궁금한 분은 깃허브링크 눌러주세요..! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 결국 1, 2, 3을 적당히 잘 섞어서 어떤 수를 만드는데 그게 가능한 경우의 수를 모두 찾아야 한다. 문제 해결 논리 : 1. N이라는 값이 있을 때 그 값의 가능한 경우의 갯수를 dp[N]이라고 하자. 2. 이 때 dp[N]은 dp[N-1] + dp[N-2] + dp[N-3]이다. 그 이유는 N-1째에서 1을 더하고, N-2째에서 2를 더하고, N-3째에서 3을 더하는 것 모두 N을 만족하기 때문에 세 경우의 수를 모두 더해..

728x90