공부하는 것들/알고리즘 (52) 썸네일형 리스트형 백준 2558 : A+B-2 (백준 input 받기) www.acmicpc.net/problem/2558 2558번: A+B - 2 첫째 줄에 A, 둘째 줄에 B가 주어진다. (0 < A, B < 10) www.acmicpc.net if __name__=='__main__': numbers = [] for i in range(2): # 두개의 숫자를 input 받기 num = int(input()) numbers.append(num) print(sum(numbers)) 사실상 wannabe00.tistory.com/entry/백준-1000번-AB 여기 있는 A+B 문제랑 같은 문제인데, input 형식이 두가지가 있음을 훈련시켜주는 것 같다. 1000번 문제는 한 row 로 들어오는 경우, 이 문제는 여러 row로 들어오는 경우에 대한 것이다. 여러 row.. 백준 2475 : 검증수 www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 검증수, check digit이라고 하는 것을 정보통신 이론에서 본 적이 있다. 난이도가 낮은 문제라서 아래와 같이 풀어서 해결이 됐는데, num의 숫자가 너무 커지면 다 합할 때까지 기다렸다가 %10 하는 게 메모리에 부담이 가는 경우도 본 것 같다. if __name__ == '__main__': # numbers = [0,4,2,5,6] numbers = list(map(int,input().split(.. 백준 1000번 : A+B / 1001번 : A-B www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net if __name__ == '__main__': a,b = list(map(int,input().split())) print(a+b) input().split()은 연속해서 들어온 숫자를 띄어쓰기 기준으로 분할해준다. map(int, A)는 A라는 리스트의 각 원소를 int형으로 mapping 시켜주는 것이고, 마지막에 list( )를 씌워줌으로써 a,b = [4, 2] 같은 형식을 갖게 된다. www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 .. 백준 1463 : 1로 만들기(DP) www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 요약> 주어진 정수 X에 대하여 X가 1이 될 때까지, 다음 세 연산을 수행한다. 1. X%3 == 0 --> X = X//3 2. X%2 ==0 --> X = X//2 3. X = X-1 연산을 사용하는 횟수의 최솟값은? 문제 해설> 처음엔 X에서 사용한 3가지 연산을 다 수행하면서 1로 가는 값을 계속 업데이트 해줬더니, 메모리 에러가 났다. 거꾸로, 1에서 세가지 연산을 역으로 수행해가면서 10이 되는 순간을 저장해서 메모리 에러를 해결했다. 재귀를 해줄 땐, setrecursionlimit 을 잊지 말자. imp.. 이전 1 ··· 4 5 6 7 다음