반응형

코딩테스트 연습/백준 50

[백준] 2775번 : 부녀회장이 될테야 in python 파이썬

BAEKJOON 알고리즘 단계별로 풀어보기 수학12775번 부녀회장이 될테야 파이썬 코드 https://www.acmicpc.net/problem/2775 코드1 - 재귀 1234567891011def fun(k,n): if k==0: return n s=0 for i in range(1,n+1): s+=fun(k-1,i) return s for _ in range(int(input())): k=int(input());n=int(input()) print(fun(k,n))cs * 단, 재귀로 짠 이 코드는 정답은 맞추나, 높은 숫자를 넣었을 때 시간초과로 실패한다. 코드2 - 반복문 1234567for _ in range(int(input())): k=int(input());n=int(input()) v..

[백준] 10250번 : ACM 호텔 in python

BAEKJOON 알고리즘 10250번 문제 ACM 호텔 파이썬으로 풀기 https://www.acmicpc.net/problem/10250 코드 12345for _ in range(int(input())): H,W,N=map(int,input().split()) a=N%H;b=N//H+1 if a==0 : a=H;b-=1 print(a*100+b)cs 코드설명 N번째 오는 손님은 다음과 같은 순서로 채워진다. (N=1,2,3,...H,...,H*W) 이때 해당 손님이 몇 층에 머물지는 N에서 H를 나누고 남은 나머지(=N%H)와 같으며, 몇 번에 머물지는 N을 H로 나눈 몫 + 1(=N//H+1)과 같다.단, N%H가 0일경우(예를들어, 6층짜리 호텔에 6, 12, 18 ... 번째 손님이 들어온 경우)..

[백준] 2869번 : 달팽이는 올라가고 싶다 in python 파이썬 쉽게 설명하기

https://www.acmicpc.net/problem/2869 코드 123import mathA,B,V=map(int,input().split())print(math.ceil((V-A)/(A-B))+1)cs 코드설명 하루동안 달팽이는 A만큼 올라가고 B만큼 내려간다. 즉, 하루동안 A-B 만큼 올라갈 수 있다. 정상에 올라간 후에는 미끄러지지 않으므로,(A-B)*x+A>=V 인 x를 찾으면 x+1이 정답이된다.

[백준] 1011번 : Fly me to the Alpha Centauri in python 설명

https://www.acmicpc.net/problem/1011 코드1 123456789for c in range(int(input())) : x,y=map(int,input().split()) X=y-x;i=2;s=X if X0:s-=i;S.append(s);i+=2;I.append(i) print(I[len(I)-2]-1 if S[len(S)-2]X**2+X else 2*X)cs 코드설명 y-x X X**2 + X output 1 0 0 1 2 1 2 2 3 1 2 3 4 1 2 3 5 2 6 4 6 2 6 4 7 2 6 5 8 2 6 5 9 2 6 5 10 3 12 6 11 3 12 6 12 3 12 6 13 3 12 7 14 3 12 7 15 3 12 7 16 3 12 7 17 4 20 8 18..

[백준] 1193번 : 분수찾기 in python 쉽게설명하기

https://www.acmicpc.net/problem/1193 코드 1234X,i,s=int(input()),2,1while X>s:s+=i;i+=1a=[s-X+1,i-s+X-1][i%2]print(a,"/",i-a,sep="")cs 코드설명 입력에 따른 분자와 분모, 코드상 i와 s는 위와같다. 만약, 입력을 7이라 했을 때, 분자=1=s-입력+1분모=4=i-s+입력-1 만약, 입력을 8이라 했을 때,분자=2=s-입력+1분모=3=i-s+입력-1 이고, i가 홀수일때 짝수일때에 따라 분자가 1로 시작할지 i로 시작할지 결정된다.

[백준] 2292번 : 벌집 in python 코드 및 설명

https://www.acmicpc.net/problem/2292 코드 123import mathn=int(input())print(+(n==1) or int((3+math.sqrt(9-24+12*n))/6)+1)cs 코드설명 입력 결과 1 1 2~7 2 8~19 3 20~37 4 38~61 5 ... 같은 결과를 가지는 입력의 가장 처음 숫자는 1 2 8 20 38 62 ... 이며 이는 계차수열이다.* an이 입력값, n이 출력값이다. *입력이 1인 경우는 따로 처리, a1 = 2로 시작한다. 계차수열의 일반항은 다음과 같다. 이때, bk는 등차수열이므로, bk의 일반항은 다음과 같다. 따라서 bk의 합은 다음과 같으며, 최종적으로 an의 일반항은 다음과 같다. 즉, an이 input일 때 의 해는 ..

반응형