728x90 전체 글116 [이코테] 게임 개발 / 파이썬 / python / 구현 👩🏻💻 code import sys from typing import MappingView sys.stdin = open("input.txt","rt") input = sys.stdin.readline n,m=map(int,input().split()) x,y,d=map(int,input().split()) map=list(list(map(int,input().split())) for _ in range(n)) visit=[[0]*m for _ in range(n)] # 북서남동 dx=[-1,0,1,0] dy=[0,-1,0,1] rotate_count=0 visit[x][y]=1 count=1 while True: d = d-1 if (d!=0) else 3 nx,ny=x+dx[d],y+dy[d] # .. Algorithm/이코테 2021. 8. 24. [이코테] 왕실의 나이트 / 파이썬 / python / 구현 👩🏻💻 code import sys sys.stdin = open("input.txt","rt") input = sys.stdin.readline dx=[-2,-2,2,2,-1,1,-1,1] dy=[-1,1,-1,1,-2,-2,2,2] #ord() : 문자 -> 숫자 #chr(): 숫자 -> 문자 where=input() x=ord(where[0])-ord('a') y=int(where[1])-1 count=0 for i in range(len(dx)): nx,ny=x+dx[i],y+dy[i] if 0 Algorithm/이코테 2021. 8. 24. [이코테] 1이 될 때까지 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin = open("input.txt","rt") input = sys.stdin.readline n,k=map(int,input().split()) count=0 while True: # k로 최대한 많이 나눠야함! tmp=(n//k)*k count+=n-tmp # k배수로 만들고 남은만큼 다 1씩 빼기, n=tmp # n은 k배수로 갱신 if n Algorithm/이코테 2021. 8. 24. [이코테] 숫자 카드 게임 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin = open("input.txt","rt") input = sys.stdin.readline n,m=map(int,input().split()) # 버전 1 : 각 행의 min값을 모두 저장해둔다음 한번에 max값 구하기 data=[] for i in range(n): data.append(min(list(map(int,input().split())))) print(max(data)) # 버전 2 : 매 행 마다 직전 행의 최솟값과 비교하기 result=0 for i in range(n): target=min(list(map(int,input().split()))) result=max(target,result) #result = (result > t.. Algorithm/이코테 2021. 8. 24. [이코테] 큰 수의 법칙 / 파이썬 / python / 그리디 👩🏻💻 code import sys sys.stdin=open("input.txt","rt") input = sys.stdin.readline n,m,k=map(int,input().split()) arr=sorted(list(map(int,input().split()))) max=arr[-1] max2=arr[-2] answer=(max*k + max2)*m//(k+1) + m %(k+1)*max print(answer) 🌈 해설 가장 큰 수를 k번 더하고, 다음 큰수를 한번 더해준다. 위를 한 세트로 반복해서 더 해줘야함! 남은 횟수는 가장 큰수들로 더해주면 됨~~ Algorithm/이코테 2021. 8. 24. 맥북 iterm 꾸미기 ~~ 8/7 부로 m1 맥북프로로 노트북을 바꿨다 - 👩🏻💻 아직 단축키도 많이 모르고 영어 대문자 쓸때마다 한글변경해버린다 ^^ 짜즁 블로그에 올렸던 환경설정 글 들이 다 윈도우 버전이라 나에게 필요가 없어짐 ㅜ 아쉽 노트북 바꾸고 첫날한 거 !! 터미널 꾸미기 😇 (방금 잘못눌렀다가 이모티콘 단축키 새로운걸 알았다 - fn키 누르니까 나온다 나혼자서 ctrl+command+space 누르고 있었네... ㅜ) 쨋든 내 귀요미 터미널!! 여러가지 테마 찾아보다가 저 깃허브 로고 고양이있는 걸루 고름 ~~~ 근데 좀 정신없나? 언젠가 또 이쁜거 있음 바꿔야징 일단은 만족!! 귀여운게 최고👾 + 외장모니터 연결하려고 오늘 프리스비 가서 벨킨 허브 사왔음 노트북을 프리스비에서 사서 살때 받은 5만원 이벤트 카드써.. 일상 2021. 8. 24. [백준] 7576번 토마토 / 파이썬 / python / BFS 📌 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 격자모양의 상.. Algorithm/Baekjoon 2021. 7. 31. [백준] 2178번 미로 탐색 / 파이썬 / python / BFS 📌 문제 N×M크기의 배열로 표현되는 미로가 있다. 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 😈 입력 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 💬 출력 첫째 줄에 지나야 하는 최소의 칸 수를 출력한다. 항상.. Algorithm/Baekjoon 2021. 7. 31. [백준] 1260번 DFS와 BFS / 파이썬 / python 📌 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 😈 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 💬 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하.. Algorithm/Baekjoon 2021. 7. 31. [백준] 1261번 알고스팟 / 파이썬 / python / BFS 📌 문제 알고스팟 운영진이 모두 미로에 갇혔다. 미로는 N*M 크기이며, 총 1*1크기의 방으로 이루어져 있다. 미로는 빈 방 또는 벽으로 이루어져 있고, 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없다. 알고스팟 운영진은 여러명이지만, 항상 모두 같은 방에 있어야 한다. 즉, 여러 명이 다른 방에 있을 수는 없다. 어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방이다. 즉, 현재 운영진이 (x, y)에 있을 때, 이동할 수 있는 방은 (x+1, y), (x, y+1), (x-1, y), (x, y-1) 이다. 단, 미로의 밖으로 이동 할 수는 없다. 벽은 평소에는 이동할 수 없지만, 알고스팟의 무기 AOJ를 이용해 벽을 부수어 버릴 수 있다. 벽을 부수면, 빈 방과 동일.. Algorithm/Baekjoon 2021. 7. 31. [백준] 2606번 바이러스 / 파이썬 / python / BFS,DFS 📌 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의.. Algorithm/Baekjoon 2021. 7. 30. [백준] 프린터 큐/ 1966번 / 파이썬 / python / 구현 📌 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 1. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다. 예를 들어 Queue에 4개의 문서(A B C D)가 있고,.. Algorithm/Baekjoon 2021. 7. 14. 이전 1 2 3 4 5 6 7 ··· 10 다음 728x90