본문 바로가기

코딩문제15

[Leetcode] 54. Spiral Matrix (Python) class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: def check(matrix): for i in range(len(matrix)): for j in range(len(matrix[i])): if matrix[i][j] == 0: return True return False row = len(matrix) col = len(matrix[0]) visited = [[0]*col for i in range(row)] ans = [] # left: [0,1], down:[1,0], right: [0,-1], up: [-1,0] move = [0, 1] y = 0 x = 0 while check(visited): if co.. 2022. 1. 24.
백준 [2839번] 설탕 배달 (Python) 좀 복잡하지만 조건을 여러개 세워서 풀었습니다. n = int(input()) cnt = 0 pass_flag = False m = n if m%5 == 0: cnt = m//5 else: if m5: temp = m//5 while 1: m = n m -= (5*temp) if m % 3 == 0: cnt += temp cnt += m//3 pass_flag = True break temp -= 1 if temp < 0: break if pass_flag == False: m = n if m % 3 == 0: cnt += n//3 else: cnt = -1 print(cnt) 아래는 1년전 풀이인데 더 간단하게 풀었더라고요,,, 퇴화하는 실력..? n = int(input()) s=0 if n==4 o.. 2022. 1. 20.
백준 [6571번] 피보나치 수의 개수 (Python) 정답률이 생각보다 낮은 문제입니다,, 아마 피보나치를 재귀로 구하다가 시간초과가 많이 나서 정답률이 낮은 것 같네요! 피보나치는 동적 프로그래밍(Dynamic Programming) 방식으로 풀어야 쉽게 통과 될 걸로 보입니다. (피보나치 DP 코딩에 대해 쓴 글입니다. https://yejun402.tistory.com/2) Python Code def dp(a, b): dp = [1,1] cnt = 0 for i in range(2,b+1): if dp[i-1]+dp[i-2] > b: break dp.append(dp[i-1]+dp[i-2]) dp = dp[1:] for i in dp: if a 2022. 1. 11.