본문 바로가기

코딩테스트 문제풀이

다익스트라 and 플루이드 와샬 11403번 경로찾기 다익스트라 예제 파이썬 예제 heapq 다익스트라 구현 import heapq import sys input = sys.stdin.readline INF = int(1e9) #무한을 의미하는 값으로 10억 #노드의 개수, 간선의 개수를 입력받기 n,m = map(int, input().split()) #시작 노드 번호를 입력받기 start = int(input()) #각 노드에 연결되어 있는 노드에 대한 정보를 담는 리스트 만들기 graph = [[] for i in range(n+1)] #최단 거리 테이블을 무한으로 초기화 distance = [INF]*(n+1) #모든 간선 정보를 입력받기 for _ in range(m): a,b,c = map(int, input().split()) #a번 노드에서 .. 더보기
[백준 알고리즘: python 3] #2108 - 통계학 통계학 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 135486 30821 24685 25.562% 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에.. 더보기
[프로그래머스] 나머지 한 점 (Python) https://programmers.co.kr/learn/courses/18/lessons/1878 세개의 좌표가 입력으로 들어오고, 직사각형을 만들기 위해서 나머지 한개의 좌표를 찾는 문제이다. 직사각형의 각 변이 x, y축과 평행하고, 세 점을 그려보면 x와 y에서 한번씩만 나온 값의 좌표가 결과값을 갖게된다. 정답 코드 def solution(v): # x, y좌표가 들어갈 리스트 x = [] y = [] answer = [] # 이중배열 순회 for i in v: if i[0] not in x: x.append(i[0]) else: x.remove(i[0]) if i[1] not in y: y.append(i[1]) else: y.remove(i[1]) answer = x + y return an.. 더보기
[백준 알고리즘: python 3] #7576 - 토마토 토마토 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 147754 55800 35297 35.583% 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에.. 더보기
[백준 알고리즘: python 3] #2468 - 안전 영역 안전 영역 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 77244 29047 19386 34.233% 문제 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. 어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 6 .. 더보기
유기농배추 유기농 배추 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 138628 54937 36989 37.528% 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 한나가 배추를 재배하는 땅은 고르지 .. 더보기
소수 & 팰린드롬 def sosu(n): if n==0 or n==1: return False else: for i in range(2,n): if n%i==0: return False else: return True n=int(input()) result=0 for i in range(n,1000001): if str(i)==str(i)[::-1]: if sosu(int(i)): result=i break # 백만이상 일경우 백만이상에서 최소 팰린드롬을 설정해야한다. if result==0: result = 1003001 print(result) 팰린드롬이란 숫자를 꺼구로 뒤집어도 숫자가 같은수를 의미한다. 예 외 : ※ 백만이상일 경우 백만이상의 최소 팰린드롬을 설정해야한다. 더보기
1697 번 python 숨바꼭질 숨바꼭질 다국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 186774 53710 33851 25.267% 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수.. 더보기