티스토리 뷰
알고리즘 (Python)/백준 (Python)
[백준(BOJ)] 18238번 : ZOAC 2 - Python(파이썬) - (브론즈2, 이분 탐색)
개발자 쿠키 2022. 7. 14. 16:10문제
2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다.
작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해냈다!

규칙은 이러하다.
- 그림과 같은 원판에 문자들이 순서대로 적혀있다. 처음 순간에 화살표는 'A'를 가리키고 있다.
- 원판은 왼쪽 또는 오른쪽으로 돌릴 수 있다. 원판을 한 칸 돌리는 데에는 1의 시간이 소요된다.
- 화살표가 가리키고 있는 문자를 출력할 수 있다. 문자를 출력하는 데에 걸리는 시간은 없다.
시간이 너무 오래 걸리면 지루해할 ZOAC의 참가자들을 위해 성우는 해당 문자열을 앞에서부터 차례대로 최대한 빠르게 출력하려고 한다.
바쁜 성우를 위하여 해당 문자열을 출력하는 데 걸리는 시간의 최솟값을 구해보자.
입력
첫 번째 줄에 알파벳 대문자로 구성된 문자열이 주어진다. 문자열의 길이는 최대 100자이다. 빈 문자열은 주어지지 않는다.
출력
입력으로 주어진 문자열을 출력하는 데에 걸리는 시간의 최솟값을 출력한다.
예제 입력 1
ZOAC
예제 출력 1
26
예제 입력 2
LBOLVUEEPMOIENMG
예제 출력 2
100
문제풀이
개념
- ord() 유니코드 정수를 반환하는 함수
- ex) ord('a') -> 정수 97반환 ord('A') 정수 65반환
문제접근
- 알파벳은 26개
- 입력받은 문자를 숫자로 바꾸기
문제풀이 방법
1) text에 리스트형태로 입력받기
2) 초기값 설정
3) 원판을 오른쪽으로 돌려야 하는 경우 tmp에서 i 아스키코드 값 빼기
원판을 왼쪽으로 돌려야 하는 경우 i에서 i에서 tmp 빼주기
4) left와 right가 0보다 작으면 +26 더해주기
왜냐하면 right가 -23이라면 +26해주면 3이기 때문에 3칸 돌리면 된다.
5) result는 걸리는 시간이므로 누적해서 더해준다
6) 문자열의 걸리는 시간의 최소값 result를 출력한다.
'알고리즘 (Python) > 백준 (Python)' 카테고리의 다른 글
[백준(BOJ)] 10816번 : 숫자 카드 2 - Python(파이썬) - (실버4, 이분 탐색) (0) | 2022.07.15 |
---|---|
[백준(BOJ)] 2805번 : 나무 자르기 - Python(파이썬) (0) | 2022.07.14 |
[백준(BOJ)] 1920번 : 수 찾기 - Python(파이썬) (0) | 2022.07.14 |
[백준(BOJ)] 10930번 : SHA-256 - Python(파이썬) (0) | 2022.07.13 |
[백준(BOJ)] 15829번 : Hashing - Python(파이썬) (0) | 2022.07.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 18258번
- 백준14720 # 그리디 알고리즘 # greedy
- level2
- 25083번
- 2798블랙잭
- 자바 #자바문법 #자바기초 #참조형 #기본형
- 백준10871번
- level3
- 반복문
- 백준2720번 #그리디 알고리즘
- 백준 10828번 # 스택
- object 클래스 # java
- 브루트 포스법
- 11034번
- 12605번
- 스프링웹개발기초
- java #예외처리 #throw #throws
- Spring
- 이분탐색
- 25304번
- 명품 JAVA Programming - 황기태
- 단계10
- 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
- level1 # 입출력과 사칙연산
- 올 겨울은 조금 따뜻할 것 같다.
- java #추상클래스
- 나는야 4학년 #5학년 까지 가보자구
- heap area #stack area #static area #jvm
- static #자바 메모리 구조 #멤버 변수
- 백준17608번
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함