728x90 알고리즘/[python] 백준 BOJ328 [python] 백준 3043 장난감 탱크 https://www.acmicpc.net/problem/3043 3043번: 장난감 탱크 상근이는 생일 선물로 장난감 탱크 N개를 받았다. 탱크를 가지고 놀기 전장을 만들었다. 전장은 나무판 위에 N행 N열 크기로 만들었다. 각 탱크가 한 번에 움직일 수 칸은 인접한 네 칸이다. 탱크 www.acmicpc.net 문제 해결 N행 N열 크기의 나무판이므로 각 행마다 하나의 탱크가 들어가고 각 열마다 하나의 탱크가 들어가야 한다는 것은 쉽게 알 수 있다. 문제는 겹치지 않고 어떻게 순서를 정해서 이동시킬 것이며 어떤 기준으로 이동시킬 것이냐가 문제이다. 어동 시키는 방법은 간단하다. 행을 기준으로 각 탱크의 위치를 정렬시킨다. 그 다음 맨 위에 행부터 아래행으로 내려가면서 1행, 2행, 3행 . . .에 .. 2023. 11. 10. [python] 백준 2331 반복수열 https://www.acmicpc.net/problem/2331 2331번: 반복수열 첫째 줄에 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 출력한다. www.acmicpc.net 문제 해결 문제를 읽으면서 풀기 쉬운문제 다만 반복이 시작될 때 숫자를 탐색하는데 약 $O(N^{2})$이 걸린다는게 마음에 걸린다. 하지만 숫자가 크지 않으므로 넉넉하다. CODE import sys input = sys.stdin.readline def solution(x, y): result = [x] x= str(x) while 1: num = 0 for i in range(len(x)): num += int(x[i])**y if num in result: return result.index(num).. 2023. 11. 5. [python] 백준 28278 스택 2 https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 풀이 기본적인 스택 사용에 관한 문제이다. 다만 문제는 시간이 걸릴 수 있다는 것이다. ($N\log{N}$) sys.stdin.readline으로 속도를 신경써야한다. CODE import sys input = sys.stdin.readline def solution(A:list): if A[0] ==1: stack.append(A[1]) elif A[0]==2: if len(stack)>0: print(stack... 2023. 11. 4. [python] 백준 12851 숨박꼭질 2 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 문제 해결 가장 빠르게 N에서 K로 가는 길을 찾으면 된다. 이 때는 BFS를 이용하는 것이 좋다. 이동 했는데 이미 방문한 적이 있으면 더 빠르게 이동 할 수 있는 방법이 존재하는 것이므로 pass한다. ways를 통해 이동할 수 있는 방법이 여러개면 여러개가 있다는 것을 value 값을 통해 더해주면서 이동할 수 있다. CODE from collection.. 2023. 11. 1. 이전 1 ··· 14 15 16 17 18 19 20 ··· 82 다음 728x90