Python
-
Python (알고리즘 백준 10250)Python/Python 알고리즘 2020. 2. 11. 14:10
ACM 호텔 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 256 MB 30916 11055 9524 35.704% 문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔..
-
Python (알고리즘 백준 2869)Python/Python 알고리즘 2020. 2. 10. 16:13
달팽이는 올라가고 싶다 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 0.15 초 (추가 시간 없음) 128 MB 36217 8704 7324 27.326% 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 예제 입력 1 복사 2 ..
-
Python (알고리즘 백준 1193)Python/Python 알고리즘 2020. 2. 10. 14:57
분수찾기 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 24535 12496 11168 53.695% 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째..
-
Python (알고리즘 백준 2839)Python/Python 알고리즘 2020. 2. 7. 14:08
설탕 배달 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 110359 30978 25063 30.226% 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램..
-
Python (알고리즘 백준 1712)Python/Python 알고리즘 2020. 2. 7. 13:38
손익분기점 성공 시간 제한메모리 제한제출정답맞은 사람정답 비율 0.35 초 128 MB 34510 8010 7109 24.512% 문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 ..
-
Python Pandas(2. 누락된 데이터 처리하기 .)Python/Python 2020. 2. 6. 14:27
누락된 데이터를 처리하는방법 일단 누락된 데이터를 왜 처리하는지 부터 설명한다. 현실 세계의 데이터는 깔끔하지않거나 일부 누락된 것 들이 많이 존재한다 그래서 이러한 기법을 사용한다. import numpy as np import pandas as pd # 임의에 1차원 배열 에다가 누락된 값을 넣는다 vals1 = np.array([1,None , 3,4]) vals1 for dtype in ['object' , int]: print('dtype =' , dtype) %timeit np.arange(1E6, dtype=dtype).sum() print() #배열에서 파이썬 객체를(object) 사용하는 것은 None 값을 가진 배열에서 sum() 이나 min() #같은 집계연산을 하면 일반적으로 오류가..
-
Python (알고리즘 백준 2941)Python/Python 알고리즘 2020. 2. 6. 12:57
크로아티아 알파벳 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 27367 11697 10373 46.901% 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. ..
-
Python ( 알고리즘 백준 5622)Python/Python 알고리즘 2020. 2. 6. 12:14
다이얼 성공 한국어 시간 제한메모리 제한제출정답맞은 사람정답 비율 1 초 128 MB 22718 13011 11847 58.002% 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 ..