조합론 단계 (acmicpc.net) 조합론 단계 이항 계수는 N개의 물건 중 K개를 순서 없이 고르는 경우의 수와 같습니다. 이것도 조합론에서 자주 만나게 될 것입니다. www.acmicpc.net ■ 백준 15439 베라의 패션_브론즈 4 n = int(input()) print(n**2-n) ■ 백준 24723 녹색거탑_브론즈 4 print(2**int(input())) ■ 백준 10872 팩토리얼_브론즈 5 ans = 1 for i in range(1, int(input())+1): ans *= i print(ans) ■ 백준 11050 이항계수 1_브론즈 1 (복습) 이항계수 참고: https://shoark7.github.io/programming/algorithm/3-ways-to-get-b..
■ 백준 1934 최소공배수_브론즈 1 (복습) - 유클리드 호제법 a와 b의 최대공약수 == b와 a%b(=나머지)의 최대공약수 a에 b를 대입하고 b에는 a%b(=나머지)를 대입하다 보면 언젠가 a%b == 0이 됨 그때 b는 a,b의 최대공약수 최소공배수는 최초 a * b에 최대공약수를 나눈 값 # (복습)_기존 코드 시간 4248ms 실화냐 # import sys # for i in range(int(input())): # a, b = map(int, sys.stdin.readline().split()) # mul = 1 # for i in range(2, int((a*b)**0.5)+1): # while a%i == 0 and b%i == 0: # mul *= i # a //= i # b //=..
몽골 여행을 다녀왔다. 그래서 블로그를 오래 비웠다. 이제 다시 시작! 그리고 왜 11단계 다음에 14단계냐면 그전 단계는 자료구조라 아직 건들지 않았다. 이제 슬슬 자료구조 다시 공부하며 풀어나갈 예정 ■ 백준 10815 숫자카드_실버 5 #최초코드: 684 ms # n = input() # card = set(list(map(int, input().split()))) # m = input() # bool_card = list(map(int, input().split())) # for i in bool_card: # print(1 if i in card else 0, end=" ") #최종코드: 444 ms import sys n = sys.stdin.readline() card = set(sys.st..
심심해서 백준 말고 프로그래머스를 풀어봤는데 난관에 봉착해 버렸다. 심심풀이로 하려다가 공부를 한 꼴이 됐다. 처음엔 시간복잡도 신경 안쓰고 엥? 쉽네~ 이러고 그냥 코딩했다. def solution(players, callings): for i in callings: idx = players.index(i) # 요것이 시간초과의 주범! players[idx-1], players[idx] = players[idx], players[idx-1] return players 하지만...! 무참히 시간 초과 위의 시간복잡도는 players의 길이를 n, callings의 길이를 m이라고 할 때, O(nm)을 가진다. 50,000 * 1,000,000.... 즉, 어마어마하다는 것 인덱싱에 문제가 있는 것은 알았..
■ 백준 24262 알고리즘 수업-알고리즘의 수행 시간 1_브론즈 5 # 이게 뭐지...? # 구현보다 그냥 정답 쓰듯 하면 되는건가 싶다 print(1,0,sep="\n") ■ 백준 24263 알고리즘 수업-알고리즘의 수행 시간 2_브론즈 4 print(input(), 1, sep="\n") ■ 백준 24264 알고리즘 수업-알고리즘의 수행 시간 3_브론즈 3 print(int(input())**2, 2, sep="\n") ■ 백준 24265 알고리즘 수업-알고리즘의 수행 시간 4_브론즈 3 # i가 n-1번 도는 동안 j는 순서대로 n-1, n-2, ... , 2, 1번 돌게됨 # 이를 모두 더하면 총 반복 횟수가 됨 # 등차가 1인 합공식 = n(n+1)/2 n = int(input()) print..
■ 백준 27323 직사각형_브론즈 5 print(int(input())*int(input())) ■ 백준 1085 직사각형에서 탈출_브론즈 3 x, y, w, h = map(int, input().split()) print(min(w-x,h-y,x,y)) ■ 백준 3009 네 번째 점_브론즈 3 # 뭔가...되게 주먹구구식으로 밖에 안돼서 아직도 내가 이런 방법 밖에 생각 못하나? # 싶었는데 알고보니 그냥 이렇게 푸는 것이었다. 하하... import sys x_arr = [] y_arr = [] for _ in range(3): x, y = map(int, sys.stdin.readline().split()) if x in x_arr: x_arr.remove(x) else: x_arr.append(..