-
[BOJ/Python] 백준 9079 - 동전 게임Solve 2024. 9. 20. 09:47
문제더보기문제상우는 재미있는 게임을 생각해냈다. 동전 9개를 아래 그림과 같이 3행 3열로 놓는다. H는 앞면, T는 뒷면을 의미한다.H T TH T TT H H게임의 목적은 이 동전의 모양을 모두 같은 면(H나 T)이 보이도록 하는 것이다. 단, 하나의 동전만을 뒤집을 수는 없고, 한 행의 모든 동전, 한 열의 모든 동전 또는 하나의 대각선 상의 모든 동전을 한 번에 뒤집어야 한다. 그런 식으로 세 개의 동전을 뒤집는 것을 '한 번의 연산'으로 센다. 상우는 이것을 최소 횟수의 연산으로 실행하고 싶어한다. 오랜 시간 생각한 끝에 위의 경우는 두 번의 연산으로 가능하다는 것을 알아냈고, 또, 이것이 최소인 것도 알아내었다.H T T T T T T T TH T T → T T T → T T TT H ..
-
[CodeTree/Python] 화면에 출력Solve 2024. 6. 17. 21:50
문제더보기화면에 출력화면에 문자가 하나 입력되어있습니다. 다음의 연산을 통해 문자를 s개로 만들어 보려고 합니다.화면에 있는 모든 문자를 복사해서 클립보드에 저장합니다.클립보드에 있는 모든 문자를 화면에 붙여넣기합니다.화면에 있는 문자중 하나를 삭제합니다.클립보드의 내용은 항상 덮어씌어 지며, 클립보드의 문자는 삭제할 수 없고, 클립보드의 문자를 화면에 붙여넣으면 문자가 추가가됩니다.클립보드가 비어있으면 2번연산을 실행할 수 없으며, 일부만 복사할 수 없습니다.이러한 연산을 통해 문자를 s개 만드는데 필요한 최소 연산 횟수를 구하는 프로그램을 작성해보세요. 입력 형식첫 번째 줄에 s가 주어집니다.2 ≤ s ≤ 1,000출력 형식문자열을 s개 만들기 위해 필요한 최소 연산 횟수를 출력합니다. 코드트리 | ..
-
[CodeTree/Python] n x m 표 이동 5Solve 2024. 6. 11. 09:51
문제더보기n x m 표 이동 5n x m 표에서 (1,1)부터 (n,m)까지 이동하려 할 때 최소한으로 이동할 때 거쳐간 칸의 수를 구하는 프로그램을 작성해보세요.단, 각 칸에는 0또는 1의 값이 주어져 있고, 1의 값이 주어진 칸 위로만 움질일 수 있습니다. 입력 형식첫 번째 줄에는 n과 m이 주어집니다.두 번째 줄부터 n개의 줄에 걸쳐 0또는 1이 m개씩 공백을 두고 주어집니다. (1, 1)과 (n, m)은 반드시 1로 주어집니다.2 ≤ n, m ≤ 100출력 형식(1, 1)에서 (n, m)까지 최소한의 횟수로 이동할 때 그 횟수를 출력합니다. 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로..
-
[Python] deque 자료구조🎸 2024. 6. 8. 13:21
덱(deque)는 스택(Stack)과 큐(Queue)의 기능을 모두 가지고 있는 자료 구조이다.즉, 양 끝에서 삽입/삭제가 모두 가능한 자료구조로, 스택과 큐보다는 유연하고 링크드리스트보다는 덜 유연한 자료 구조라고 한다.덱(deque)을 활용하기 위해서는, Collection 모듈이 필요하다. BFS를 구현하는 데 유용하게 활용할 수 있겠다.Collections: list, tuple, set, dict 등 내당 컨테이너에 대한 대안을 제공하는 Python Built-In 확장 모듈from collections import duquefrom collections import OrderedDictfrom collections import defaultdictfrom collections import Co..