728x90 전체 글117 [프로그래머스] 입국심사 / 파이썬 / python / 이진탐색 📌 문제 🤔 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 😈 .. Algorithm/Programmers 2021. 9. 1. [이코테] 게임 개발 / 파이썬 / 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. 이전 1 2 3 4 5 6 7 ··· 10 다음 728x90