SilverIV ***백준 / 2839번 / 설탕 배달 / Python / 그리디 알고리즘 *** 2023. 12. 23. 09:26 📚문제 📝풀이 # 2839번 설탕 배달(Silver IV) n = int(input()) cnt = 0 while n >=0: if n %5==0: cnt += (n//5) print(cnt) break else: n -= 3 cnt += 1 else: print(-1) 백준 질문 게시판에 있는 코드들은 직관적으로 알아보기 힘들어서 구글링 하다가 발견한 간단한 코드 우선 5로 나누어 떨어지지 않는 숫자라면 cnt(설탕 봉지 수) +=1과 함께 -3을 해준다 이렇게 3을 빼주다 보면 5로 나누어떨어지는 수가 될수도 있다 만약 n이 3의 배수라면 (ex 9) 3을 3번 빼주는 것(cnt=3) 과 3으로 3번 나눈 몫이 동일하기 때문에 정답이 된다 그리고 4나 7처럼 5의배수도 아니고 -3을 계속 해주어도 5.. 백준 / 9012번 / 괄호 / Python / deque 2023. 12. 20. 17:41 📚문제 📝풀이 # 9012 괄호 (Silver IV) import sys from collections import deque for _ in range(int(input())): deq = deque() vps = sys.stdin.readline().rstrip() for i in vps: if i == '(': deq.append(i) elif i ==')': if deq: deq.pop() else: print('NO') #처음부터 괄호가 들어온다면 이미 모양이 맞지않으므로 'NO' 출력 break else: print('NO') if deq else print('YES') 괄호의 개수만 카운팅해서 비교하면 틀린다 '()' 이 모양이 되야해서 괄호의 순서도 중요한 문제 마치 테트리스..?처럼 de.. 백준 / 10828 / 스택 / Stack 2023. 12. 18. 15:22 📚문제 📝풀이 # 10828 스택 (Silver IV) import sys stack = [] for _ in range(int(input())): order = sys.stdin.readline().rstrip().split() if order[0] == 'push': stack.append(order[1]) elif order[0] == 'top': print(stack[-1] if stack else -1) elif order[0] == 'pop': print(stack.pop() if stack else -1) elif order[0] == 'size': print(len(stack)) elif order[0] == 'empty': print(0 if stack else 1) 스택,큐,덱 문제 모.. 이전 1 다음 1/1