본문 바로가기
728x90
반응형

Python3173

2022.02.24 [백준] (python 파이썬) 균형잡힌 세상 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net 풀이 이 문제는 스택을 사용해서 해결했다. 입력받은 문자열을 배열에 넣고 만약 배열의 첫번째 인덱스 값이 '.'이면 break를 걸어 while문을 빠져나오게 했다. 그리고 check를 True로 선언하고 만약 괄호의 짝이 맞지 않으면 ( ')'괄호가 나왔을 때, stack이 비어있거나 '[' 괄호가 나오면 짝이 맞지 않음) False로 바꾼뒤 break를 걸어 해당 문자열을 확인하.. 2022. 2. 24.
2022.02.24 [백준] (python 파이썬) Hashing https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 풀이 우선 딕셔너리를 이용해 각 알파벳에 고유 번호를 지정해 주었다. 참고로 아스키 코드에서 문자로 변환은 chr(), 문자에서 아스키 코드로는 ord()를 사용하면 된다. 그리고 s의 길이만큼 for문을 돌려 각 (알파벳의 고유값*31**(알파벳의 인덱스))%m을 해주었다. 총 해쉬합인 sum을 그대로 출력했을 때, 50%성공이 결과로 나왔다. 아마 출력할 수 있는 범위를 벗어 난듯하다. 그래.. 2022. 2. 24.
2022.02.24 [백준] (python 파이썬) 요세푸스 문제 0 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 이 문제를 풀기 위해 deque를 사용하였다. 이유는 deque를 사용하면 배열을 회전시킬 수 있기 때문이다. rotate()를 사용하면 괄호에 양수를 넣으면 양수 값만큼 오른쪽으로 배열이 회전하고, 음수를 넣으면 음수 값만큼 배열이 왼쪽으로 회전한다. 예제에서 3번째 사람을 계속 제거해 가야하니 배열을 왼쪽으로 3만큼 회전시키면 3번째사람이 배열의 끝에 위치하게 된다. 그러면 배열의 마지막 값을 뽑아 ans배열에 담고 이 작업을 deq가 빌때까지 반복했다. 1 2 3 4 5.. 2022. 2. 24.
2022.02.24 [백준] (python 파이썬) 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 이 문제는 queue로 풀어도 되지만 활용도?가 더 높은 deque를 이용해서 코드를 작성했다. 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 32 import sys from collections import deque input=sys.stdin.readline deq=.. 2022. 2. 24.
728x90
반응형