목록수학 (75)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/n6ULA/btrLhuhAGFM/EfW5ycmfEKMtmKlZbE6NJk/img.png)
👉 문제링크 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 🔸 문제 분석 🔸 규칙처럼 회오리 모양으로 삼각형이 늘어갈때 가장 큰 변의 길이를 출력하는 문제이다. dp[0] ~ dp[9] 까지의 10개 값은 문제에서 주어졌다. 인덱스 3(입력 값 4)부터 점화식이 적용된다. P(N) = P(N-2) + P(N-3) 🔸 코드 🔸 dp = [1,1,1,2,2,3,4,5,7,9] for _ in range(int(input())): n = int(input()) if n
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/chb9RL/btrK57HjGhY/7Hknii67SGeemKlPx6HHU0/img.png)
👉 문제링크 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 🔸 문제 분석 🔸 옷 이름과 종류를 입력받고, 입을 수 있는 의상 조합의 수를 구한다. 🔸 코드 🔸 for _ in range(int(input())): n = int(input()) weardict = {} for _ in range(n): wear = list(input().split()) if wear[1] in weardict: weardict[wea..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zdfnu/btrJ7OvaEty/kJ2W1pJmo2lmw71tg5PMT1/img.png)
👉 문제링크 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 숫자의 팩토리얼 값에서 1의자리부터 0이 아닌 수가 나올때까지 0의수를 세고 출력한다. 🔸 코드 🔸 import math n = int(input()) answer = 0 for i in str(math.prod( i for i in range(1,n+1)))[::-1]: if i =="0": answer += 1 else: break print(answer) 🔸 코드 해석 🔸 for문으로 0부터 n을 나열하고 math.prod() 함수로 모두 곱해서 팩토리얼 값을 구했다. 팩토리얼 값을 문자열로 변환해 반전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dfXD0n/btrJZOvqKsL/zcLjkc4rVoYDXmmfuQcpVK/img.png)
👉 문제링크 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 숫자들의 산술평균, 중앙값, 최빈값, 범위를 출력한다. 🔸 코드 🔸 import sys from collections import Counter input = sys.stdin.readline print = sys.stdout.write N = int(input()) arr = [] for i in range(N): arr.append(int(input())) arr.sort() print(str(round(sum(arr)/N)) + "..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcggPm/btrJD22dHoW/O00k80KRLAcLhgACACs4Pk/img.png)
👉 문제링크 12873번: 기념품 백준이는 BOJ 알고리즘 캠프 참가자 중 한 명에게 기념품을 주려고 한다. 하지만, 많은 참가자 중에서 어떤 사람을 뽑아서 기념품을 줘야하는지 고민이 되기 시작했다. 따라서, 백준이는 게임을 www.acmicpc.net 🔸 문제 분석 🔸 1~N원소 중 1, 2, 3...의 3제곱 번째 원소를 제거하며 1개가 남을때까지 반복하는 문제이다. 🔸 코드 🔸 from collections import deque import math N = int(input()) t = 0 member = deque(range(1,N+1)) while len(member) != 1: t += 1 member.rotate(-((int(math.pow(t,3))%len(member))-1)) memb..