MapleStory Finger Point

개발중 62

백준 알고리즘 2775번 부녀회장이 될테야 (파이썬)

문제: 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수..

백준 알고리즘 2022.08.17

백준 알고리즘 2480번 주사위 세개 (파이썬)

문제: 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받..

백준 알고리즘 2022.08.15

백준 알고리즘 1085번 직사각형에서 탈출 (파이썬)

문제: 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 첫째 줄에 x, y, w, h가 주어진다. # 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. # 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. # 첫째 줄에 x, y, w, h가 주어진다. # 이 문제는 현재 좌표에서 직사각형까지 최소 길이를 구하는 문제이다. # 최소 길이는 상하좌우 모두 될 수 있으며 현재는 알 수 없다. x, y, w, h = ma..

백준 알고리즘 2022.08.15

백준 알고리즘 1193번 분수찾기 (파이썬)

문제: 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. # 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. # # X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. # 1번 째 - 1 # 2번 째 - 2, 3 # 1/2 2/1 # 3번 째 - 4, 5, 6 # 3/1 2/2 1/3 # 4번 째 - 7, 8, 9, 10 # 1/4 2/3 3/2 4/1 # 5번 째 - 11, 12, ..

백준 알고리즘 2022.08.14

백준 알고리즘 1929번 소수 구하기 (파이썬)

문제: M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. from math import sqrt M, N = map(int, input().split()) for i in range(M, N + 1): if i == 1: continue for j in range(2, int(sqrt(i)) + 1): if i % j == 0: break else: print(i) 코드 설명: from math import sqrt M, N = map(int, input().split()) # M 이상, N이하 만큼 반복 for i in range(M, N + 1): if i == 1: # 1은 소수가 될 수 없다 continue # 이 방법은 '에토스테네스의 체' 라는 빠른 소수 찾기 방법이다 # 예를들어 ..

백준 알고리즘 2022.08.09

백준 알고리즘 10250번 ACM 호텔 (파이썬)

문제 : 방 번호는 YXX 나 YYXX 형태인데 여기서 Y 나 YY 는 층 수를 나타내고 XX 는 엘리베이터에서부터 세었을 때의 번호를 나타낸다. 즉, 그림 1 에서 빗금으로 표시한 방은 305 호가 된다. 손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않는다. 다만 걷는 거리가 같을 때에는 아래층의 방을 더 선호한다. 예를 들면 102 호 방보다는 301 호 방을 더 선호하는데, 102 호는 거리 2 만큼 걸어야 하지만 301 호는 거리 1 만큼만 걸으면 되기 때문이다. 같은 이유로 102 호보다 2101 호를 더 선호한다. 여러분이 작성할 프로그램은 초기에 모든 방이 비어있다고 가정하에 이 정책에 따라 N 번째로 도착한 손님에게 배정될 방 번호를 계산하는 프로그램이다. 첫 번째 손님은 101 호..

백준 알고리즘 2022.08.08

백준 알고리즘 2869번 달팽이는 올라가고 싶다 (파이썬)

문제 : 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. import math A, B, V = map(int, input().split()) print(math.ceil((V - B) / (A - B))) 코드 설명 : import math A, B, V = map(int, input().split()) # 기본 수식은 (A - B) * x >= V 이다. # x를 기준으로 모두 이항하면, x >= V / (A - B) 가 되는데, # 분자인 V를 그..

백준 알고리즘 2022.08.05

백준 알고리즘 4673번 셀프 넘버 (파이썬)

완벽한 코드가 아닙니다. 문제 : 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ...

백준 알고리즘 2022.08.01

PyInstaller 에러 메시지 출력 (바로 꺼짐 이유 확인)

가끔 PyInstaller로 만든 exe 파일을 실행하였을 때, 콘솔 창이 생겼다가 바로 꺼지며 프로그램이 실행되지 않을 때가 있다. 에러 메시지를 확인하고 싶은데 너무 빠르게 사라져서 확인할 수가 없으면 input() 같은 입력 대기 상태 구문을 추가해도 되지만, 직접 코드를 수정해야해서 귀찮다. 그럴 때는 간편하게 1. cmd를 켠다. 2. exe 파일 경로를 입력한다. 3. Enter를 누른다. 이 망할 opencv 에러는 일주일째 해결 중