본문 바로가기

코딩테스트19

[백준] 1011: Fly me to the Alpha Centauri 파이썬 풀이 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 문제설명 어떤 이동거리에 대해 움직이는 최소 횟수를 구하는 문제입니다. 이동 방법은 1칸 점프 부터 시작해서, n 번째에 x칸 점프 했다면 n+1 번째는 x-1 or x or x+1 칸 점프할 수 있습니다. 끝 지점은 반드시 1칸 점프로 도착해야합니다. 풀이과정 1. 이동거리가 n일 때, 최소 이동횟수를 구해봤습니다. 2. 위를 구해보니, 특정 이동 횟수에 대해 갈 수 있는 최대 거리의 규칙이 보였습니다. 3. 이동횟.. 2021. 7. 28.
[백준] 17367: 공교육도박 파이썬 풀이 17367번: 공교육 도박 공교육의 수호자 수찬이는 공교육의 정수라고 할 수 있는 한국정보올림피아드의 문제를 가지고 게임을 하려고 한다. 수찬이는 2010년도 한국정보올림피아드 시·도 지역본선 중등부 1번 문제를 www.acmicpc.net 풀이 게임의 진행 주사위를 굴릴 기회가 있으면, 현재 상태에 대해 기댓값(현 상태에서 한 번더 주사위를 굴렸을 때의 기댓값)을 판단한다. 판단한 기댓값이 현재 상금(현재 게임을 멈췄을 때 얻을 수 있는 상금)보다 높다면 go 아니라면 멈추고 현재 상금을 받음 이러한 메커니즘 때문에, 주사위를 굴릴 기회가 많을 수록 기댓값이 높아짐 풀이 d[x][i][j][k] : 굴릴 기회가 x 번 남았을 때, 주사위 눈이 i, j, k가 나왔을 때 얻을 수 있는 상금(혹은 상금의 .. 2021. 7. 15.
주요 알고리즘 설명 및 문제 모음 냅색(knapsack) 알고리즘 Dynamic Programming: 배낭 채우기 문제 (Knapsack Problem) 도둑이 보석가게에 배낭을 메고 침입했다. 배낭의 최대 용량은 W이며, 이를 초과해서 보석을 담으면 배낭이 찢어질 것이다. 각 보석들의 무게와 가격은 알고 있다. 배낭이 찢어지지 않는 선에서 gsmesie692.tistory.com 12865: 평벙한 배낭 2021. 7. 7.
[백준] 1072: 게임 파이썬 리뷰 - 연산 오류, Y*100//X, int(Y/X*100) 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 풀이는 전형적인 이분탐색 문제입니다. 하지만 연산에 관한 문제 때문에 리뷰를 해보려합니다. 해당 문제에서 승률을 계산하는 방법은 두가지가 있습니다. 1. Y*100//X 2. int(Y/X*100) 해당 문제에서 2번을 이용해 연산을 하면 틀립니다. 간단한 예시는 29/50이 있습니다. 29/50*100=58.0 이어야 하는데, 파이썬 연산에서는 그렇지 않았습니다. 여기서 주목해야 할 것은 실수의 연산입니다. 실수의 연산은 부정확할 수가 있으므로 사용에 .. 2021. 5. 9.