목록알고리즘 (43)
hi jaeneee

1) 문제 2) 예시 3) 제출 import sys input = sys.stdin.readline cnt = 0 def checkgroup(sen): li = list(sen) tmp = [li[0]] for k in range(len(li)-1): # li[i]에 저장된 문자열의 길이만큼 반복 for a in range(len(tmp)-1): # tmp에 저장된 문자열의 길이만큼 반복 if li[k] == tmp[a]: # li의 해당 문자가 tmp에 있으면 return 0 # 그룹 단어X if li[k] != tmp[len(tmp)-1]: tmp.append(li[k]) # tmp에 li문자 추가 return 1 for i in range(int(input())): cnt = cnt + checkg..

1) 문제 2) 예시 3) 제출 import sys input = sys.stdin.readline def fib(n): if n == 0: return 0 elif n == 1 or n == 2: return 1 else: return fib(n - 1) + fib(n - 2) print(fib(int(input()))) 4) 메모리/시간/코드길이 5) plus (ash silver의 문제 해결 과정) 1. 피보나치 수열 함수 정의 2) 입력과 동시에 함수에 입력 후 출력 import sys input = sys.stdin.readline def fib(n): if n

1) 문제 2) 예시 3) 제출 li = list(input())#한 번에 문자열 입력 받기 cnt = len(li) for i in range(1, len(li)): if li[i] == '=': # dz= if i > 1 and li[i-1] == 'z' and li[i-2] == 'd': cnt = cnt - 2 # c=, s=, z= elif li[i-1] == 'c' or li[i-1] == 's' or li[i-1] == 'z': cnt = cnt - 1 # c-, d- if li[i] == '-' and (li[i-1] == 'c' or li[i-1] == 'd'): cnt = cnt - 1 # lj, nj if li[i] == 'j' and (li[i-1] == 'l' or li[i-1] ..

1) 문제 2) 예시 3) 제출 sum = 0 num = int(input()) time = list(map(int, input().split())) time.sort() for k in range(len(time)+1): g = 0 for g in range(k): sum += time[g] print(sum) 4) 마무리 세 번째 줄에서 빈칸을 구분으로 리스트를 한 번에 입력받게 했다. 리스트를 sort를 이용해 정렬하고 제일 작은 수부터 더하게 했다.

1) 문제 2) 예시 3) 제출 cnt = plus = small = big = 0 for i in range(10): plus += int(input()) if cnt = 100: big = plus break elif plus big이 0일 경우 고려X break를 써서 중간에 빠져나와도 된다는 것을 나중에 알았다,, 조금 더 간단하게 하면 plus = small = big = 0//전부 0으로 초기화 for i in range(10)://10개..

1) 문제 2) 예시 3) 제출 max = res = 0 bus = [list(map(int, input().split())) for _ in range(10)] for i in range(10): res = res - bus[i][0] + bus[i][1] if max < res: max = res print(max) 4) 마무리 list 연속적으로 입력 받기 bus = [list(map(int, input().split())) for _ in range(10)]

1) 문제 2) 예시 3) 제출 n, x = list(map(int, input().split())) a=list(map(int, input().split()[:n])) for i in range(len(a)): if a[i] < x: print(a[i], end=' ') 4) 메모리/시간/코드 길이 5) 비교 a=list(map(int, input().split()[:n])) 리스트에 숫자를 한 번에 입력받아 넣고 싶을 때는 위 함수를 쓰면 된다. print를 사용하면 자동으로 개행이 되는데 python에서 print는 print(content, end='\n') 에서 end가 생략된 것이다. \n이 들어간 곳에 구분자를 두면 개행이 되지 않고 구분자로 나누어 출력된다. (랭킹에 있는 minkj1992..

1) 문제 2) 예시 3) 제출 n = int(input()) for i in range(n): for k in range(n-i-1): print(' ', end='') for g in range(i+1): print('*', end='') print() 4) 메모리/시간/코드 길이 5) 비교 print(' '*(x-i)+'*'*i) 문자열에 *n을 이용하면 n 번씩 반복되어 for 문을 한 번 더 쓰지 않아도 된다.

1) 문제 2) 예시 3) 제출 n = int(input()) num = list(map(int, input().split()[:n])) max = num[0] min = num[0] for i in range(len(num)): if num[i] > max : max = num[i] elif num[i] maximum 값 구하기 min(list명) -> minimum 값 구하기 (간결해진 코드) n = int(input()) num = list(map(int, input().split()[:n])) print(str(min(num)) + ' ' +..

1) 문제 2) 예시 3) 제출 sum = int(0) for i in range(1, int(input())+1): sum += i print(sum) 4) 메모리/시간/코드 길이

1) 문제 2) 예시 3) 제출 for i in range(1, int(input())+1): print(i) 4) 메모리/시간/코드길이 5) 비교

1) 문제 2) 예시 3) 제출 from re import split T = int(input()) range(0, T) add = [] for i in range(T): A, B = input().split() A = int(A) B = int(B) add.append(A+B) for i in range(len(add)): print(add[i]) 4) 메모리/시간/코드길이 5) 비교 range(0,T) 필요X range(start, stop, step) split 함수 문자열.split() : 띄어쓰기, 엔터를 기준으로 문자열을 나누어 리스트 문자열.split('구분자') : 구분자를 기준으로 문자열을 나누어 리스트 map함수 map(function, iterable) : iterable 요소를 fu..