728x90 반응형 Python169 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. 2022.02.24 [백준] (python 파이썬) 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 풀이 이 문제를 처음 접근할 때, 이분탐색으로 접근해서 코드를 작성했다. 하지만 계속 시간초과가 발생하여서 구글링으로 다른 방법을 찾아보았다. 1. 딕셔너리 활용하기 2. from collections import Counter를 이용해 개수 카운팅하기. - 이분탐색( 시간초과 코드 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1.. 2022. 2. 24. 2022.02.23 [백준] (python 파이썬) 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 이 문제는 체스판에서 선택 가능한 8*8사이즈의 보드를 모두 탐색한 뒤, 최소한을 바꿔야 하는 칸 수를 구하는 문제이다. 우선 각 8*8체스판의 시작점을 구하기 위해 2중 for문을 사용했다. 이 후 각 체스판에서 바꿔야 하는 칸 수를 저장할 change_num을 선언 후, 각 시작점을 기준으로 8*8체스판을 탐색했다. for문안에서 (k+l)%2 조건을 넣은 이유는 시작점이 'W'라.. 2022. 2. 23. 이전 1 ··· 20 21 22 23 24 25 26 ··· 43 다음 728x90 반응형