본문 바로가기

Algorithm80

[BOJ] 9461. 파도반 수열 (python) 백준 9461 파도반 수열 (파이썬) 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net # [BOJ] 9461. 파도반 수열 2023-01-05 import sys T = int(sys.stdin.readline()) for tc in range(T): L = [0, 1, 1, 1, 2, 2, 3, 4, 5, 7, 9] N = int(sys.stdin.readline()) if N 2023. 1. 5.
[programmers] Lv.0 구슬을 나누는 경우의 수 (javascript) 프로그래머스 레벨0 구슬을 나누는 경우의 수 (자바스크립트) 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. function factorial(n) { let f = BigInt(1); for (let i = 1; i 2023. 1. 5.
[BOJ] 2161. 카드1 (python) 백준 2161 카드1 (파이썬) 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net import sys N = int(sys.stdin.readline()) L = [_ for _ in range(1, N + 1)] ans = [] while len(L) > 0: ans.append(L.pop(0)) if len(L) > 0: L.append(L.pop(0)) for a in ans: print(a, end=" ") 2023. 1. 4.
[BOJ] 1094. 막대기 (python) 백준 1094: 막대기 (파이썬) 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net import sys X = int(sys.stdin.readline()) L = [64] while sum(L) > X: l = L.pop(-1) L.append(l // 2) L.append(l // 2) if sum(L[:-1]) >= X: L.pop(-1) print(len(L)) 2023. 1. 3.
[BOJ] 7369. Maya Calendar (python) 백준 7369 Maya Calendar (파이썬) 7369번: Maya Calendar During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, professor discovered that the Maya civilization used a 365 day long year, called Haab, which had 19 months. Each of the fir www.acmicpc.net ✔️ 문제 개요 Haab: 365일 1년, 19달 첫 18개월은 20일 (달의 이름들)pop, no, zip, zotz, tzec, xu.. 2023. 1. 2.
[BOJ] 2635. 수 이어가기 (python) 백준 2635. 수 이어가기 (파이썬) 2635번: 수 이어가기 첫 번째 수가 주어진다. 이 수는 30,000 보다 같거나 작은 양의 정수이다. www.acmicpc.net import sys N = int(sys.stdin.readline()) ans = 0 ANS = [] for n in range(1, N + 1): a = 1 A = [N, n] # 배열에 주어진 수와 선택한 정수 입력하고 시작 while A[-1] >= 0: A.append(A[-2] - A[-1]) a += 1 if a > ans: ans = a ANS = A print(ans) for a in ANS: if a >= 0: print(a, end=" ") 2022. 12. 31.
728x90