본문 바로가기

전체 글

(152)
[python/inflearn/section3] 봉우리 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 봉우리 import sys #sys.stdin=open("input.txt", "r") n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] cnt = 0 # 봉우리 세팅 for i in range(n): a[i].insert(0,0) a[i].append(0) m = len(a[0]) a.insert(0, [0]*m) a.append([0]*m) # 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역 # 상 a[i-1][j] , 하 a[i+1][j] # 좌 a[i][j-1] , 우 a[i][j+1] for i in range(1, n+1): ..
[python/inflearn/section3] 곳감(모래시계) 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 곳감(모래시계) import sys #sys.stdin=open("input.txt", "r") n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] m = int(input()) # 회전시킨다. for i in range(m): x, y, z = map(int, input().split()) if y == 0: # 왼쪽 for _ in range(z): # 처음꺼를 제거한 후 맨끝에 다시 넣는다. a[x-1].append(a[x-1].pop(0)) else : # 오른쪽 for _ in range(z): # 마지막꺼를 제거한 후 맨 앞에 ..
[python/inflearn/section3] 사과나무(다이아몬드) [python/inflearn/section3] 사과나무(다이아몬드) 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 사과나무(다이아몬드) import sys #sys.stdin=open("input.txt", "r") n = int(input()) a = [list(map(int, input().split())) for _ in range(n)] # 가운데를 기준으로 시작값과 끝 값을 구한다. mid = n//2 s = e = mid res = 0 for i in range(n): for j in range(s, e+1): res += a[i][j] if i < n//2 : s -= 1 e += 1 else : s += 1 e -= 1 print(res)
[python/inflearn/section3] 격자판 최대합 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 격자판 최대합 import sys #sys.stdin = open("input.txt", 'r') n=int(input()) a = [list(map(int, input().split())) for _ in range(n)] res = 0 # 각 행열의 합 중 최대값을 찾는다. for i in range(n): sum1 = sum2 = 0 for j in range(n): # 행의합 sum1 += a[i][j] # 열의합 sum2 += a[j][i] # 비교하여 최대값을 저장한다. if res < sum1: res = sum1 if res < sum2: res = sum2 # 두 대각선의 합 중 최대값..
[python/inflearn/section3] 수들의 합 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 수들의 합 import sys #sys.stdin=open("input.txt", "r") # 전체 숫자 n , 찾고자하는 부분합 m n, m=map(int, input().split()) a=list(map(int, input().split())) # 리스트의 왼쪽 인덱스 값 lt=0 # 리스트의 오른쪽 인덱스 값 rt=1 # 합계 tot=a[0] #겅우의 수 cnt=0 # 부분 수열의 합이 m이 되는 모든 경우의 수 while True: if tot
[python/inflearn/section3] 두 리스트 합치기 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 두 리스트 합치기 import sys #sys.stdin=open("input.txt", "r") n = int(input()) a = list(map(int, input().split())) m = int(input()) b = list(map(int, input().split())) for x in a: b.append(x) b.sort() for x in b: print(x, end = " ") 단순하게 풀이한 방법이다. 아래와 같은 코드를 작성하도록 하자. import sys #sys.stdin=open("input.txt", "r") n=int(input()) a=list(map(int, input().sp..
[python/inflearn/section3] 카드 역배치(정올 기출) 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 카드 역배치(정올 기출) import sys #sys.stdin=open("input.txt", "r") nums = [i for i in range(21)] for _ in range(10): s, e = map(int, input().split()) # 스왑 해야하는 수 만큼 루프돌린다. for j in range( (e-s+1)//2) : nums[s+j], nums[e-j]=nums[e-j], nums[s+j] nums.pop(0) for x in nums: print(x, end = " ")
[python/inflearn/section3] 숫자만 추출 본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다. # 숫자만 추출 import sys #sys.stdin=open("input.txt", "r") word = input() res = "" num = 0 # 숫자 추출 for i in word: if i.isdigit(): res += i res =int(res); # 약수 추출 for i in range(1, res+1): if res % i == 0 : num += 1 print(res) print(num)이전 강의에서 배운 부분을 활용한 강사님 코드 # 숫자만 추출 import sys sys.stdin=open("input.txt", "r") s=input() res=0 for x in s: # isdecimal ..