목록I.sly()/10기 심화 - 프로그래밍 (13)
또 뭐하지
■ 처음에 제출했던 코드import sysn = int(sys.stdin.readline())l = []for _ in range(n): l.append(int(sys.stdin.readline()))l.sort()for i in range(n): print(l[i])메모리 초과가 떴다.. 5초 안에 정렬을 해야하는걸 보니 엄청 빠르게 해야하나보다.. 정렬알고리즘을 알아봤다. ■ 참고 자료https://east-star.tistory.com/10 정렬 알고리즘(Sorting Algorithm) 정복하기 - with JS안녕하세요. 동쪽별입니다. 이번 포스트에서는 여러 정렬 알고리즘에 대해 살펴보고, 자바스크립트로 구현해보도록 하겠습니다. 목차 거품 정렬(Bubble Sort) 선택 정렬(Se..
a, b, v = map(int, input().split())if (v-b) % (a-b) == 0: ret = int(((v-b)//(a-b)))else : ret = int(((v-b)//(a-b))+1)print(ret)정상에 도달하면 미끄러지지 않기 때문에 달팽이가 가야할 거리는 v-b만큼이다. v-b가 a-b로 나누어떨어지지 않으면 한 번 더 미끄러지기 때문에 하루를 더해줘야한다.
팰린드롬이란 앞으로 읽어도 뒤로 읽어도 동일한 단어를 의미한다. 이 문제에는 팰린드롬 '수'인지를 판단하여 yes 또는 no를 출력해야한다.입력은 각 줄마다 정수로 주어지며, 0이 입력되면 입력이 종료된다.while True: num = input() # 비교의 편의성을 위해 문자열로 받아옴 if num == '0' : break # 0이 출력되면 입력을 종료 flg = 0 for i in range(len(num)//2): if num[i]!= num[-i-1] : flg = 1 #앞뒤로 비교했을때 다르면 flg를 변경 break if flg == 1 : print('no') #fl..
Hashing은 문제에서 정의한 hash 함수 공식을 구현하는 문제이다. 공식은 아래와 같다.여기서 r = 31, M = 1234567891로 주어져있다.입력은 첫번째 줄에서 문자열의 길이가 입력되고, 두번째 줄에서 문자열이 입력된다. 주어진 문자열은 소문자로만 구성되어 있다.출력은 해당 해시 함수를 적용한 정수 결과값을 출력하면 된다. # 문제에서 주어진 r과 M 정의r = 31M = 1234567891length = int(input())str = input()sum = 0for i in range(length): k = (ord(str[i])-96) * (r**i) # 문자를 숫자로 변환하여 자릿수에 맞는 r의 거듭제곱을 곱해줌 sum += k # 연산한 값을 모두 더함hash = su..
N, M = map(int, input().split())card = [int(x) for x in input().split()]max = 0for i in range(len(card)): for j in range(i+1,len(card)): for k in range(j+1,len(card)): sum = card[i] + card[j] + card[k] if max
# 1 -> 6 -> 12 -> 18 -> 24# 1 (1+0*6) --> 1개# 2~7(1+1*6) --> 2개# 8~19(7+2*6) --> 3개# cnt+1 ~ cnt + flg*6 --> flg+1개N = int(input())cnt = 1flg = 0while N > cnt : flg += 1 cnt += flg*6print(flg+1)
N = int(input())i = 1while i 0: tmp += (k%10) k = k//10 if tmp == N : print(i) break i += 1if i == N : print(0)
N = int(input())size = [int(x) for x in input().split()]t, p = map(int,input().split())lt = 0# 사이즈 별로 묶음수로 나눠 떨어지면 몫만큼만 주문# 나눠 떨어지지 않으면 몫+1만큼 주문for i in size : if i%t == 0 : lt = lt + (i/t) else : lt = lt + (i//t) + 1a = N // p #인원수를 묶음수로 나눈 몫만큼 묶음 주문b = N % p #인원수를 묶음수로 나눈 나머지만큼 낱개 주문print(int(lt))print(a,b)