본문 바로가기
728x90

알고리즘/[python] 백준 BOJ328

[python] 백준 13460 구슬 탈출 2 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 문제 해결 삼성 문제의 전형적인 시물레이션 문제 기울면 무조건 한 칸 움직이는 것이 아닌 몇 칸 움직일 수 있다는 점이 다른문제와 다르다. 즉 벽에 막히거나 구멍에 들어가서 상황이 종료될때까지 한 방향으로 계속 움직인다. CODE import sys input = sys.stdin.readline from collections import dequ.. 2023. 4. 30.
[python] 백준 17281 야구 https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 문제 해결 야구 규칙이 있고 각 이닝에 칠 수 있는 타구를 타자마다 알 수 있을 때 최고의 차순일 때 득점할 수 있는 득점 값 구하기 사실 permutations(순열)을 쓰기 부담스러웠다. (당연히 시간복잡도가 크기 때문...) 하지만 다른 방법이 없다는 것을 알았고 각 경우 득점은 시물레이션을 통해 값을 얻도록 해야한다. 타자의 기록은 베이스 이동으로 결과를 기록할 수 있다. 1,2, 3, 베이스 .. 2023. 4. 30.
[python] 백준 18185 라면 사기 (small) https://www.acmicpc.net/problem/18185 18185번: 라면 사기 (Small) 라면매니아 교준이네 집 주변에는 N개의 라면 공장이 있다. 각 공장은 1번부터 N번까지 차례대로 번호가 부여되어 있다. 교준이는 i번 공장에서 정확하게 Ai개의 라면을 구매하고자 한다(1 ≤ i www.acmicpc.net 문제 해결 단순히 3개를 많이 사고 2개 1개를 사면 좋을거라 생각하기 쉽다. 하지만 j, j+1, j+2 공장 라면이 만약 3 5 2 로 있다고 생각해보자. 3개를 먼저 사면 7*2 + 5*1 + 3*2 = 25일 것이다. j+1,j+2공장 차이만큼 j와 j+1공장에서 라면을 먼저 사도 5*3 + 5*2 = 25이다. 하지만 j+3 고장에 만약 2개가 있다면? 3개를 먼저 사는.. 2023. 4. 29.
[python] 백준 4716 풍선 https://www.acmicpc.net/problem/4716 4716번: 풍선 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 팀의 수 N(1 ≤ N ≤ 1,000)과 방 A와 B에 보관되어있는 풍선의 수 A, B가 주어진다. (0 ≤ A, B ≤ 10,000) 다음 N개 www.acmicpc.net 문제 해결 거리를 비교해서 A아니면 B를 선택하는 문제로 보면 된다. A와 B와 거리가 같으면 풍선 남는 쪽으로 가면 되는데 풍선이 모자랄 일이 없으므로 그냥 계산하면 된다. CODE while True: n, a, b = map(int, input().split()) if n==0 and a==0 and b==0:break X = [list(map(int, input.. 2023. 4. 28.
728x90