[백준/Python] 10773. 제로
·
코딩테스트/BAEKJOON
1. 유형: 스택  2. 문제  3. 풀이 기본적인 스택 연산 구현 연습import sysK = int(sys.stdin.readline())stck = []for i in range(K): n = int(sys.stdin.readline()) if n == 0: if stck: stck.pop() else: continue else: stck.append(n)print(sum(stck))
[백준/ Python] 28278. 스택2
·
코딩테스트/BAEKJOON
문제 풀이 코드 기본적으로 스택 연산 사용할 줄 알면, 쉽게 풀리는 문제였다!대신, 입력 양이 너무 커지면 문제가 생기길래 이 부분에 대해 알아보니, import sys n = int(sys.stdin.readline()) 이걸 사용하면 빠르게 입력을 받을 수 있다고 한다.풀다가 영 답이 안 보이면 이렇게도 해봐야지 #N = int(input())import sysN = int(sys.stdin.readline())stack = []for i in range(N): n = sys.stdin.readline().split() # n, x = map(int, input().split(" ")) if n[0] == "1": stack.append(n[-1]) elif n[0]..
[백준/Python] 1449번. 수리공 항승
·
코딩테스트/BAEKJOON
📌 문제유형: 탐욕법(그리디) 📌 문제링크 https://www.acmicpc.net/problem/1449 📌 풀이코드 N, L = map(int, input().split())holes = list(map(int, input().split()))covered = [0 for _ in range(len(holes))]holes.sort()count = 0for i, h in enumerate(holes): able = [(h-0.5), (h-0.5) + L] # 커버 가능한 범위 if not covered[i]: covered[i] = 1 count += 1 for j in range(i+1, len(holes)): if able..
[백준/Python] 3085. 사탕게임
·
코딩테스트/BAEKJOON
📌 문제유형: 브루트포스 📌  문제설명: 링크참조 https://www.acmicpc.net/problem/3085 📌  풀이코드 # 2:27 startdef search(): global answer # 가로, 세로로 가장 긴 연속 부분을 찾아야 함 # 1. 행 쪽 for i in range(N): cnt = 1 # 1로 시작해야 마지막까지 셀 수 있다. for j in range(N-1): if arr[i][j] == arr[i][j+1]: cnt += 1 answer = max(answer, cnt) else: # 연속을 찾아야 되는데, 중간에 끊기면..
[알고리즘 전략] 완전탐색
·
알고리즘
** [한권으로 합격하는 취업 코딩테스트] 책을 참고해 작성했습니다.** 주의점, 기억해야할 것을 위주로 작성합니다.  브루트 포스 Brute-Force - 무차별 대입이라는 의미. - 완전탐색 전략을 충실히 사용해서 확실하게 답을 구하는 알고리즘- 어떤 문제를 풀 때 먼저 '무식하게 모든 경우를 다 살펴봐도 될까?' 생각해보기 (제한시간 오버되면 다른 방법 생각하기)  ** 문제 푸는 방법   1. 반복문   2. 재귀   3. 순열   4. 조합=> 삼성 코테에서 순열 조합 많이 쓰인다고 함.  순열 - n개의 수 중에서 r개를 뽑아 줄을 세우는 총 방법의 수: nPr = n! / (n-r)! - 순서 고려 O - permutations(배열이름, 몇개를 고를지)from itertools import..
[백준/Python] 3040. 백설 공주와 일곱 난쟁이
·
코딩테스트/BAEKJOON
🍀 문제유형: 브루트포스/ DFS 🍀  문제설명(링크참조) https://www.acmicpc.net/problem/3040🍀  풀이코드 # 방법1. DFS # 11:35 start 56 end# dfs..def dfs(i, total, result, cnt): global answer if cnt == 7: if total == 100 : answer = result return if i == 9: return # cnt = 7 이지만 100이 아니면 멈춰야 해 #i 포함 X dfs(i+1, total, result, cnt) #i 포함 O dfs(i+1, total+nums[i], result+..