728x90 문자열23 [python] 백준 1525 퍼즐 https://www.acmicpc.net/problem/1525 1525번: 퍼즐 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. www.acmicpc.net 문제 해결 표에 숫자를 넣고 빈 곳(0)을 이용해 이동하는 문제 이동 방법은 동서남북이므로 move =[(-1,0), (1,0), (0,-1), (0,1)] 4가지가 있다. 위의 조건과 최소 이동 번수를 구하는 것이므로 아무래도 bfs가 좋다. 그런데 어떻게 풀어야하지?? (ㅜㅜ) 답은 리스트가 아니라 문자열 이용! 1 2 3 4 5 6 7 8 9 위 표는 "123456789" 문자열로 변환 시킬 수 있다! 그리고 n 위치는 (n//3, n%3) 으로 좌표를 만들 수 있다... 2023. 2. 28. [python] 백준 12891 DNA 비밀번호 https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 문제 해결 긴 문자열에서 정해진 문자열 개수 p로 자른 다음 개수를 확인하는 문제이다. 왼쪽부터 한 칸씩 문자열을 p개씩 슬라이싱 했을 때 주어진 조건을 만족시키면 가능한 경우의 수이므로 정답 +1씩 올린다. 문자열은 한칸씩 이동하므로 한번 0~p-1까지 문자를 확인한다음 가장 왼쪽 인덱스의 문자를 제외시키고 오른쪽에 한칸 씩 문자를 추가시킴으로써 계산을 최소화 시킬 수 있.. 2023. 2. 19. [Python] 백준 11655 ROT13 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 문제 해결 - 매우 쉬운 문제이다. - 사실 리스트 하나 만들고 ['A', 'B', ....] 해놓은 다음 나누기를 해도 되지만 ord(), chr()를 써서 메모리도 깔끔하게 쓰고 함수로 깔끔하게 푸는 것이 베스트이다. (ord()와 chr()을 써볼 수 있는 기회) CODE import sys input = sys.stdin.readline S = str(input().rstrip()) ans = '' for spell in S: if spell.isupper().. 2022. 12. 16. 이전 1 ··· 3 4 5 6 다음 728x90