leetcode 42 , 빗물 트래킹
문제 : 높이를 입력 받아 비 온 후 얼마나 많은 물이 쌓일 수 있는지 계산하라 입력 : [0,1,0,2,1,0,1,3,2,1,2,1] 출력 : 6 코딩을 할 때마다 하는 생각이지만 문제를 풀 때는 항상 수학적 사고력이 가장 중요한 것 같다. 이 문제에 어떻게 접근을 할 것인가. 이후 나의 사고를 파이썬이라는 언어로 새롭게 만들어내는 것이다. 투포인터 알고리즘이란 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘이다. 병합정렬의 영역의 기초임 한 칸을 기준으로 물을 담을 수 있는 영역은 왼쪽에서 가장 높은 칸, 그리고 오른쪽에서 가장 높은 칸, 그 중 더 작은칸에서 자신이 원래 높이를 뺀 만큼 물을 담을 수 있게 된다. 따라서 자신을 기준으로 왼쪽에서 가장 높은칸을, ..
#002 [3052] 백준 나머지 파이썬
문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 예제 입력 1 2 3 4 5 6 7 8 9 10 예제 출력 10 내가 푼 코딩 a = [] b=[] for i in range(10): k =int(input()) a.append(k) for i in ..