백준 15829번 문제 Hashing 해싱 50점 풀이와 100점 풀이가 있는 문제이다. 둘 다 적겠다 https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 100점 문제 풀이 알파벳을 의미하는 숫자 반환 함수 - 유니코드 활용 ord() 입력된 알파벳을 숫자로 만들고 해시값 계산 100점 해답 코드 Python #백준 15829 Hashing - 100점 from sys import stdin #데이터 입력 L = int(stdin.readlin..
DSA/Algorithm
백준 12605번 문제 단어순서 뒤집기 https://www.acmicpc.net/problem/12605 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net 스택을 활용하는 문제 문제풀이 데이터 입력받을 배열과 결과물 넣을 배열 선언 데이터 하나씩 돌면서 스페이스바 기준으로 단어를 잘라 새 배열 slist를 만듦. slist의 값을 역순으로, 준비된 temp에 넣고 temp 하나가 다 만들어지면, 결과물 result에 저장. 해답 코드 python #12605 from sys import stdin #전체 개수..
백준 2161번 문제 카드1 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 큐를 사용하는 문제이다. 문제 풀이 전체 갯수 입력받고 데이터 입력받을 배열과 결과값 넣을 배열 생성 throw : 카드를 버릴 차례라면 True, 뒤로 넣을 차례라면 False를 담는 변수 데이터 배열 data에 값이 계속 추가되므로 data의 현재 길이를 이용해 data배열이 끝날때까지 반복하도록 함 해답 코드 python #2161 #comm. 파이썬 que문제는..
백준 17608번 문제 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 스택을 활용하는 문제라고 함 문제풀이 전체 개수와 데이터 입력받고 데이터 뒤에서부터 돌면서 현재까지 가장 큰 값은 curBig에 저장. curBig보다 크면 count에 +1하고 curBig값으로 업데이트한다. 해답 코드 python #17608 from sys import stdin #전체 개수와 데이터 입력받 n = int(input()) data = [0]*n for i i..