일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코틀린
- LCS
- 9095
- Android
- 나머지
- 1260
- 6603
- 11054
- 괄호
- 11053
- itertools
- 1182
- 안드로이드
- Kotlin
- 최소공배수
- 코테
- lcm
- Combination
- 11기
- 11057
- 앱
- 백준
- 매일11시
- 뒤로가기
- 파이썬
- expo
- 홈화면
- 순열
- permutation
- Python
- Today
- Total
목록전체 글 (181)
황소개발자
지금시각 새벽 3시 53분 앞에 두 숫자를 조작해준다 그 경우의 수는 9가지. import sys input = sys.stdin.readline n = int(input()) B = list(map(int, input().split())) if n == 1: print(0) exit() def check(first, second, b): diff = second - first new = [first + diff * i for i in range(len(b))] flag = True change = 0 for i in range(2, len(b)): if abs(new[i] - b[i]) > 1: return [False, change] if new[i] == b[i]: pass else: change ..
짬밥이 늘어버린겨.. go 함수로 일단 lst 함수에 어떤 연산을 먼저할건지 정하고 stack 이용해서 우선연산 계싼처리 그후 한번 더 계싼처리 ans = 0 으로 초기화해서 살짝 반례찾았었네.. 최소값은 -999999999 n = int(input()) given = input() op = [0] * ((n - 1) // 2) lst = [] def go(idx, flag, hist): if idx == (n - 1) // 2: lst.append(hist) return if flag: go(idx + 1, False, hist + [0]) else: go(idx + 1, True, hist + [1]) go(idx + 1, False, hist + [0]) go(0, False, []) def cal..
입력이 들어오는 방식은 두가지 1. 문자열 import itertools a = '1234' print(list(map(''.join, itertools.permutations(a)))) ['1234', '1243', '1324', '1342', '1423', '1432', '2134', '2143', '2314', '2341', '2413', '2431', '3124', '3142', '3214', '3241', '3412', '3421', '4123', '4132', '4213', '4231', '4312', '4321'] 2. 숫자 배열 (문자 배열은 그냥 map(str, a) 없이 해주면 됨) import itertools a = [1, 2, 3, 4] print(list(itertools.per..
뚝딱해부려 10 팩토리얼이 얼말까? 3,628,800 11 팩토리얼이 약 4000만 근데 여기선 10자리수가 최대, 근데 심지어 1,000,000,000 까지니까 실상 9팩토리얼이다. 시간복잡도가 10팩토리얼까지여도 가능한데 9 팩토리얼은 매우 안전빵이다. import sys import itertools input = sys.stdin.readline a, b = input().split() b = int(b) lst = list(map(''.join, list(itertools.permutations(a)))) c = -1 for num in lst: first = num[0] num = int(num) if b >= num and first != '0': c = max(c, num) print(c)
글램핑가고싶다.. 2의 30승은 10억 2의 20승은 100만, 20승까지는 안전하게 1초안에 해결되니까.. N 이 15인 관계로 모든 탐색 ㄱㄱ 비트연산하면 쉬워유 N, L, R, X = map(int, input().strip().split()) A = list(map(int, input().split())) A.sort() ans = 0 for i in range(1 = X and L
포스트말론 노래 너무 좋음 모든 조합 다 따져주고, 돌리는 것도 따져주고 확인할 때, 방법이 단순한데 스티커가 두개니까,, 가로로 나열하거나 세로로 나열하거나,, 이게 제일 이득이다. import sys input = sys.stdin.readline h, w = map(int, input().split()) n = int(input()) sks = [] for i in range(n): sks.append(list(map(int, input().split()))) def check(s1, s2): # garo if s1[0] + s2[0]
마치 이 뭔가 분열되어가며 답을 찾는 이 느낌. n = int(input()) B = list(map(int, input().split())) def go(x, b, A): b.remove(x) A.append(x) least_one = False if not b: return True if x * 2 in b: least_one = True return go(x * 2, b, A) if x % 3 == 0 and x // 3 in b: least_one = True return go(x // 3, b, A) if not least_one: return False for i in range(n): A = [] flag = go(B[i], B.copy(), A) if flag: print(*A) break..
채점하는데 오래걸려서 유튭보고 왓넹 import sys input = sys.stdin.readline h, w = map(int, input().split()) check = [[0 for i in range(w)] for j in range(h)] mat = [] ans = [] # x, y, s dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] def checks(y, x): for s in range(1, w): flag = True for i in range(4): ny = y + dy[i] * s nx = x + dx[i] * s if 0