백준
-
[백준] 10930 SHA-256백준 Online Judge 2021. 8. 26. 19:19
문제 링크 10930번: SHA-256 첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. www.acmicpc.net 문제 해설 SHA-256은 대표적인 해시 알고리즘 중 하나이다. 문제 유형: 해시, 구현 추천 문제 풀이 시간: 15분 문제: 문자열 S가 주어졌을 때, SHA-256 해시값을 구하라. 풀이 코드 import hashlib input_data = input() # 입력받은 데이터의 바이트 객체를 구한다. encoded_data = input_data.encode() # hashlib의 sha256 함수를 사용해서 해쉬 객체를 만든다. result = hashlib.sha256(encoded_data).hexdigest..
-
[백준] 5397 키로그백준 Online Judge 2021. 8. 25. 22:02
[백준] 5397 키로거 비밀번호 찾는 방법 두 개의 스택을 사용하면 쉽게 풀 수 있다 풀이 시간 최대 40분 test_case = int(input()) for _ in range(test_case): left_stack = [] right_stack = [] data = input() for i in data: # 지워야 할 때, 왼쪽 스택이 비웠는가 먼저 확인한 뒤 지운다. if i == '-': if left_stack: left_stack.pop() # 커서를 왼쪽으로 옮긴다 = 문자 하나를 오른쪽 스택으로 넘긴다. elif i == '': if right_stack: left_stack.append(right_stack.pop()) # 문자가 입력 된 경우 else: left_stack.app..
-
[백준] 1874 스택 수열백준 Online Judge 2021. 8. 25. 20:33
스택 수열 유형: 스택, 그리디 난이도: 하 스택에 push 할 때는 그 숫자를 넣을 때까지 삽입하면 된다. (예를 들어, 4를 넣고자 하면 1, 2, 3, 4를 넣는다). 스택에서 pop 하는 경우, 내림차순으로 빼낼 수 있는지 확인해야 한다. 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net n = int(input()) count = 1 stack = [] result = [] for i in range(1, n + 1): ..
-
[백준] 2798 블랙잭백준 Online Judge 2021. 8. 23. 19:53
2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 요약 문제 유형: 배열, 완전 탐색 난이도: 하 카드가 n개 만큼 있을 때, 그 중 3개의 카드 합이 총 m을 넘지 않을 때, 카드 3장의 합을 출력하라. 문제 코드 작성 모든 경우의 수를 모두 다 합한다. 카드 세 장을 뽑은 뒤 합한 값을 서로 비교해서 가장 큰 값을 출력한다. n, m = list(map(int, input().split(' '))) data = list(map(int, input().split(' '))..
-
[배열] 하 - 2920 음계 문제백준 Online Judge 2021. 8. 23. 18:31
2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 문제 요약 난이도 : 하 문제 유형 : 배열, 구현 추천 풀이 시간 : 15분 [문제 링크](https://www.acmicpc.net/problem/2920) 문제 해설 숫자 1~8까지 여러 개를 입력 받았을 때, ascending/descending/mixed로 분류하는 문제 입력 예시 : 1 2 3 4 5 6 7 8 출력 예시 : ascending 문제 풀이 코드 # 데이터를 입력 받는다. data_list = li..