일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- encoding
- 기사
- 헤드라인뉴스
- 코테
- 20200615뉴스
- 기사헤드라인
- 20201011뉴스
- 20201015뉴스
- 파이썬
- 20201013뉴스
- 20201018뉴스
- Python
- 알고리즘
- 경제뉴스
- 크롤링
- json
- 20201017뉴스
- C++
- 20201016뉴스
- 뉴스헤드라인
- LeetCode #Python #알고리즘 #코딩테스트 #interview
- 20200816뉴스
- 오늘의뉴스
- 백준2225
- 헤드라인기사
- 뉴스
- MySQL
- 헤드라인
- 헤드라인모음
- 백준
- Today
- Total
목록분류 전체보기 (72)
HelloCho
문제 : 이 문제는 n미만의 숫자들에서 소수를 찾는 문제이다. 처음에 시도한 방법은 2중 for문을 이용해 각 수의 배수의 값의 값을 채워 넣는다. class Solution: def countPrimes(self, n: int) -> int: if n int: if n
문제 : 이 문제는 단순하게 2차원 배열안에서 음수의 개수를 count하는 문제이다. 특징은 내림차순으로 이미 정렬이 되어있다는 것이다. class Solution: def countNegatives(self, grid: List[List[int]]) -> int: cnt = 0 for i in range(len(grid)): for j in range(len(grid[0])): if grid[i][j] < 0 : cnt += len(grid[0]) - (j) break return cnt 단순하게 접근했다. 2중 for문을 이용해서 배열 원소에 접근한다. 만약 음수를 만난다면 그 행의 남은 원소역시 음수이기 때문에 행의 개수 - index를 이용해서 개수를 더해줬다. 결과
문제 : 이 문제는 주어진 s 숫자 값을 만들기 위한 최소 수의 개수를 구하는 문제이다. 이 문제를 해결하는 방법은 2개의 포인터를 이용해서 문제를 해결해 볼 것이다. class Solution: def minSubArrayLen(self, s: int, nums: List[int]) -> int: l,r = 0,len(nums)+1 sub = 0 for i in range(len(nums)): sub += nums[i] while sub >= s: r = min(r, i-l+1) sub -= nums[l] l +=1 return r if r != len(nums) + 1 else 0 l,r 이라는 포인터를 지정해준다. sub이라는 subarray의 합을 만들변수를 설정하고 nums list를 순회하며 ..
문제 : 이 문제는 우리가 스도쿠 문제가 주어질때 가로, 세로, 하나의 grid안에 같은 수가 있는지 확인하고 있다면 False를 return하는 문제이다. class Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: for i in range(len(board)): row_check = [] col_check = [] for j in range(len(board)): row = board[i][j] col = board[j][i] if row != '.' and row in row_check: return False else: row_check.append(row) if col != '.' and col in col_check: re..
문제 : 이 문제는 15,16 번 문제와 매우 유사하다. 사실 거의 같다 ㅋㅋ hellocho.tistory.com/247?category=908052 hellocho.tistory.com/248?category=908052 [Python] 15. 3Sum(Medium) 문제 : 이 문제는 nums 배열에서 3개의 값을 더해 0을 만들 수 있는 조합을 찾는 문제이다. 역시나.. 프로그래밍 초보인 나는 처음 이 문제를 보고... 아 for문을 3개 써서 중복이 아닌 것의 조합을 넣 hellocho.tistory.com 이 문제의 해결 방법은.. three sum에서는 2개의 pointer를 이용했다면... 요번에는 3개의 pointer를 이용했다. class Solution: def fourSum(self..
문제 : 15번 문제는... 아래 링크의 15번 문제와 유사하다 (사실 하루에 다 풀어본건 함정..) 이 문제는 target과 차이가 최소인 조합을 찾는 문제이다. hellocho.tistory.com/247 [Python] 15. 3Sum(Medium) 문제 : 이 문제는 nums 배열에서 3개의 값을 더해 0을 만들 수 있는 조합을 찾는 문제이다. 역시나.. 프로그래밍 초보인 나는 처음 이 문제를 보고... 아 for문을 3개 써서 중복이 아닌 것의 조합을 넣 hellocho.tistory.com 해결 방법은 위의 링크와 매우 유사하다. 두 개의 포인터를 이용해서 모든 값을 순회한다. class Solution: def threeSumClosest(self, nums: List[int], target..
문제 : 이 문제는 nums 배열에서 3개의 값을 더해 0을 만들 수 있는 조합을 찾는 문제이다. 역시나.. 프로그래밍 초보인 나는 처음 이 문제를 보고... 아 for문을 3개 써서 중복이 아닌 것의 조합을 넣어야 겠다 !! 라고 생각했지만 당연히도(?) 시간 초과이다. 그렇다면 이 문제는 어떻게 접근 하면 좋을까.. 2개의 pointer를 이용해서 모든 경우의 수를 찾는 방법이 가장 쉬운(?) 접근인 것 같다. 코드는 아래와 같다. class Solution: def threeSum(self,nums): res = [] nums.sort() for i, a in enumerate(nums): if i>0 and a ==nums[i-1] : continue l,r = i+1, len(nums)-1 wh..
문제 : 이 문제는 #54에서 살펴본 문제와 동일한 문제로 동일한 알고리즘으로 해결할 수 있다. 다만 차이점이 있다면 #54 문제에서는 순회하면서 값을 추출했다면 이 문제에서는 나선형의 모양대로 값을 입력하면 된다. [Python] #54. Spiral Matrix(Medium) 문제 이 문제는 2차원 배열의 데이터를 나선의 모양으로 순회하는 문제이다. 즉... 아래 빨간색의 방향대로 순차적으로 값을 가져오면 된다. class Solution: def spiralOrder(self, matrix): if not matrix: re.. hellocho.tistory.com class Solution: def generateMatrix(self, n): res = [[0]* n for _ in range(n..