본문 바로가기

구현4

[백준] 14502. 연구소 - Python [Gold IV] https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 백트래킹을 통해 미로에서 벽을 놓을 위치 세 곳을 선택한다. -> 나중에는 순열로 해결해도 가능 (1)을 통해 3개의 벽을 세웠으면, 해당 연구실 지도를 deepcopy(깊은 복사를 해야 원본이 변경되지 않음)를 통해 테스트 지도를 복사하고, 상, 하, 좌, 우를 번갈아가며 BFS로 지도를 탐색한다. (처음에는 방문했던 노드를 재방문 하는 것을 피하려고 visited 배열을 사용했지만,.. 2023. 9. 17.
[백준] 10808. 알파벳 개수 - Python [Bronze IV] https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 풀이 반복문을 통해 'a' ~ 'z'까지 반복하며 input으로 들어온 값에 단어가 몇개나 있는지 비교 (최대한 파이썬의 다양한 기능을 활용해서 효율적으로 코드를 짜보려고 노력했습니다.) ord()를 통해 'a' ~ 'z'를 for문을 통해 반복시킬 수 있었고, count()를 통해 input에 해당 alphabet들이 몇 개가 들어있는지 출력. inputString = input() for alphabet in range(ord('a'), ord('z') + 1): p.. 2023. 9. 4.
[백준] 1158. 요세푸스 문제 - Python [Silver IV] https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 1~n 까지 수가 담겨있는 numberList를 n회 반복하며 index를 계산하여 요세푸스 순열에 값을 넣어준다. numberList의 길이만큼 반복하므로 시간복잡도는 O(n)이 된다. n, k = map(int, input().split()) numberList = [i for i in range(1, n + 1)] josephusPermutation = [] index = 0 for i in range(len(numberList)): index = (ind.. 2023. 9. 4.
[백준] 1213. 팰린드롬 만들기 - Python [Silver III] https://www.acmicpc.net/problem/1213 2023. 9. 4.