본문 바로가기
반응형

Problem Solving239

[BOJ][Python]2193 풀이 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net n = int(input()) t = [0 for _ in range(91)] t[1] = 1 for i in range(2, 91): t[i] = 1 + sum(t[:i-1]) print(t[n]) 뻔한 dp 문제입니다. 조건 1과 2에 의해서 앞의 두 자리는 10으로 고정되기 때문에 사실상 3번째부터 n번째 까지 가능한 조합을 따지는 건데 그 조합들은 이미 앞에서 구한게 있으니 그대.. 2023. 3. 3.
[BOJ][Python]1476 풀이 https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net e, s, m = map(int, input().split()) a, b, c = 1, 1, 1 ans = 1 while 1: if a == e and b == s and c == m: print(ans) break else: a += 1 b += 1 c += 1 ans += 1 if a == 16: a = 1 if b == 29: b = 1 if c == 20: c = 1 예전에는 아마 연도를 주면 .. 2023. 3. 1.
[BOJ][Python]27294 풀이 https://www.acmicpc.net/problem/27294 27294번: 몇개고? 첫 번째 줄에 시간을 의미하는 정수 $T$ ($0 \le T \le 23$)와 술의 유무를 의미하는 정수 $S$ ($0 \le S \le 1$)가 공백으로 구분되어 주어진다. $T$가 $11$이하이면 아침 시간, $12$이상 $16$ 이하이면 점심 시 www.acmicpc.net n, m = map(int, input().split()) if n >= 12 and n 2023. 3. 1.
[BOJ][Python]10815 풀이 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net import sys ssr = sys.stdin.readline n = int(ssr()) hc = sorted(list(map(int, ssr().split()))) m = int(ssr()) nc = list(map(int, ssr().split())) ans = [0 for _ in range(m)] for i in range(m): start = 0 end =.. 2023. 2. 27.
[BOJ][Python]24262 풀이 https://www.acmicpc.net/problem/24262 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net print('''1 0''') 간단한 문제라고 생각해서 풀이를 작성하지 않았었는데 최근에 백준에서 제 코드를 보시는 분들이 많이 늘어서 한 번 작성을 해볼까 합니다. 문제가 막 이말저말 길게 써놔서 좀 혼란을 줄 순 있는데 핵심은 문제에서 제공한 함수의 시간복잡도가 어떻게 되는지를 묻는 것입니다. 함수의 내용은 입력 n을 2로 나눈 수 i 를 인덱스로 사용.. 2023. 2. 27.
[BOJ][Python]18096 풀이 https://www.acmicpc.net/problem/18096 18096번: Арифметическая магия Дэвид Блейн попросил зрителя задумать два числа. Затем он попросил перемножить два числа, большие каждого из задуманных на единицу, выче www.acmicpc.net print(1) 예전에 친구들이 하던 숫자 마술과 비슷한 느낌이 들어서 포스팅을 할까 말까 고민하다가 가져와봤습니다. 해당 문제는 영어가 아니다 보니 번역기를 돌렸는데 번역기도 만족스럽진 못하더라구요. 그래서 해당 문제의 번역을 제공해주는 링크를 첨부하겠습니다. https://www.acmicpc.net/board/v.. 2023. 1. 25.
[BOJ][Python]2810 풀이 https://www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net n = int(input()) s = input() ans = 1 cnt = 0 for i in range(n): if s[i] == 'L': cnt += 1 if cnt % 2 == 0: ans += 1 print(min(ans, len(s))) 이번 내용은 어떻게 하면 L의 사이에는 컵홀더를 놓지 않을것인가를 고민하면 되는 문제였습니다. 저는 처음에는 좌석을 계속 비교하는 방식으로 코드를 작성했다가 L은 무조건 붙어서 나오기 때문에 L이 나온 횟수만 세어주면 비교하는 과정을 거치지 않아도 될.. 2023. 1. 23.
[BOJ][Python]18238 풀이 https://www.acmicpc.net/problem/18238 18238번: ZOAC 2 2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해 www.acmicpc.net from string import ascii_uppercase uppers = list(ascii_uppercase) s = input() ans = 0 start = 'A' for i in s: start_idx = uppers.index(start) next_idx = uppers.index(i) if next_idx > start_idx: ans += min((next_idx.. 2023. 1. 17.
[BOJ][Python]22864 풀이 https://www.acmicpc.net/problem/22864 22864번: 피로도 첫 번째 줄에 네 정수 $A$, $B$, $C$, $M$이 공백으로 구분되어 주어진다. 맨 처음 피로도는 0이다. www.acmicpc.net a, b, c, m = map(int, input().split()) work = 0 tired = 0 for _ in range(24): if tired + a > m: tired = 0 if tired < c else tired - c else: tired += a work += b print(work) 최근에 파이썬이 새로운 버전이 나오면서 속도가 엄청 빨라졌다고 들었는데 그 이유 때문인지 백준에서 파이썬 채점을 할 때 시간이 상당히 빠릅니다. 예전에는 아무리 짧은 코드.. 2022. 12. 31.
[BOJ][Python]14487 풀이 https://www.acmicpc.net/problem/14487 14487번: 욱제는 효도쟁이야!! 욱제는 KOI를 망친 기념으로 부모님과 함께 코드게이트 섬으로 여행을 떠났다. 코드게이트 섬에는 오징어로 유명한 준오마을(심술쟁이 해커 임준오 아님), 밥으로 유명한 재훈마을, 영중마을 등 www.acmicpc.net n = int(input()) num = list(map(int, input().split())) max_num = max(num) num.remove(max_num) print(sum(num)) 이번 문제는 모든 마을을 다 갈 수 있는 최단 거리를 구하는 문제입니다. 사실 최단거리라고 말하기도 좀 그런게 마을은 전부 섬 외곽에 위치해있고 다른 마을로 이동하기 위해서는 무조건 섬 외곽을 .. 2022. 12. 30.
반응형