코딩테스트/백준) 단계별로 풀기 12

백준- 단계별로 풀어보기| 12단계- 브루트 포스

단계 문제 번호 제목 내 코드 코드 비교 1 2798 블랙잭 n,m = map(int,input().split()) cards = list(map(int,input().split())) li = [] for i in range(n): for j in range(n): for k in range(n): if i!=j and j!=k and k!=i: sum = cards[i]+cards[j]+cards[k] if sum 같거나 작다 카드 뽑기 중복 허용 안됨 -> if i!=j and j!=k and k!=i: 2 2231 분해합 n= int(input()) for i in range(1,n+1): li = map(int, list(str(i))) #각 자리수 리스트 total_sum = i + sum(l..

백준- 단계별로 풀어보기| 11단계- 시간 복잡도

단계 문제 번호 제목 내 코드 코드 비교 1 24262 알고리즘 수업 - 알고리즘의 수행 시간 1 print(1) print(0) 2 24263 알고리즘 수업 - 알고리즘의 수행 시간 2 n = int(input()) print(n) print(1) 3 24264 알고리즘 수업 - 알고리즘의 수행 시간 3 n = int(input()) print(n*n) print(2) 4 24265 알고리즘 수업 - 알고리즘의 수행 시간 4 n = int(input()) print(int(n*(n-1)/2)) print(2) 등차수열의 합은 첫항+끝항이 아니라, 2S = 수열 + 반대 수열 = n(첫항+끝항)을 이용해서 푼다 5 24266 알고리즘 수업 - 알고리즘의 수행 시간 5 n = int(input()) pri..

백준- 단계별로 풀어보기| 10단계- 기하: 직사각형과 삼각형

단계 문제 번호 제목 내 코드 코드 비교 1 27323 직사각형 a = int(input()) b = int(input()) print(a*b) 2 1085 직사각형에서 탈출 x,y,w,h = map(int,input().split()) li = [x,y,w-x,h-y] print(min(li)) 3 3009 네 번째 점 x1,y1 = map(int,input().split()) x2,y2 = map(int,input().split()) x3,y3 = map(int,input().split()) xs = [x1,x2,x3] ys = [y1,y2,y3] x = [ x for x in xs if xs.count(x) == 1][0] y = [ y for y in ys if ys.count(y) == 1][0..

백준- 단계별로 풀어보기| 9단계- 약수, 배수와 소수

단계 문제 번호 제목 내 코드 코드 비교 1 5086 배수와 약수 while(True): a, b = map(int,input().split()) if (a == 0 and b == 0): break if (b % a == 0): print('factor') elif (a % b == 0): print('multiple') else: print('neither') 2 2501 약수 구하기 a, n = map(int,input().split()) cnt = 0 for i in range(a): i = i+1 #1부터 n까지 if a % i == 0: cnt += 1 if cnt == n: print(i) if cnt 1: for i in range(2,num): if num %i ==0: cnt +=1 b..

백준- 단계별로 풀어보기| 8단계- 일반 수학1

단계 문제 번호 제목 내 코드 코드 비교 1 2745 진법 변환 NOTATION = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' num,n = input().split() n = int(n) sum = 0 for i in range(len(num)): change_num = int(NOTATION.index(num[i])) new_idx = len(num)-1-i sum += change_num * (n ** new_idx) print(sum) num,n = input().split() print(int(num, int(n))) int(숫자, 진수)로 간단하게 10진수로 나타낼 수 있다. 문자열은 인덱스로 값을 바꿀 수 없다!! str[0] = 1 그래서 새로운 변수 chang..

백준- 단계별로 풀어보기| 7단계- 2차원 배열

단계 문제 번호 제목 내 코드 코드 비교 1 2738 행렬 덧셈 n, m = map(int,input().split()) a = [ [0 for i in range(m)] for j in range(n)] b = [ [0 for i in range(m)] for j in range(n)] new = [ [0 for i in range(m)] for j in range(n)] for i in range(n*2): li = list(map(int,input().split())) for j in range(m): if i map(str,list) 사용 2566 최댓값 max_tuple_idx = 0 max_num = 0 arr = [] for i in range(9): tuple = list(map(int,i..

백준- 단계별로 풀어보기| 6단계- 심화 1

단계 문제 번호 제목 내 코드 코드 비교 4 10812 바구니 순서 바꾸기 N, M = map(int,input().split()) basket = [ i+1 for i in range(N)] for n in range(M): i,j,k = map(int,input().split()) #틀린 코드 temp = basket[i-1:k-1] basket[i-1:k-1] = basket[k-1:] basket[k-1:] = temp #맞은 코드 basket = basket[:i-1] + basket[k-1:j] + basket[i-1:k-1] + basket[j:] print(' '.join(map(str,basket))) n, m = map(int, input().split()) box = [i+1 for ..

코딩테스트 - 파이썬

1. print()문을 이용할 때, 따옴표등 특수문자를 출력하는 방법. 1) 따옴표 안에 전 후로 \ (Back slash) - \" or \' print('\"Hello World !\"') 2) ''' or """ print(''' "Hello World!" '''); 2. map의 결과를 다시 리스트로 변환해야함 li = map(int,input().split()) ori = [1,1,2,2,2,8] new = [ ori[i] - li[i] for i in range(len(li)) ] new = ' '.join(map(str,new)) print(new) - join 은 ('출력할 때 구분문자').join(리스트) 가 구조임 - map 한후 바로 출력하면 리스트가 아니라 오브젝트 값이므로 반드시 ..