Notice
Recent Posts
Recent Comments
07-14 20:48
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- join
- sql
- 프로그래머스 조건에 맞는 개발자 찾기
- 백준 11059
- SQLD
- 백준 2852
- 파이썬
- 리스트 컴프리헨션
- 백준 24499 파이썬
- ROWNUM
- 알고리즘
- AWS
- 백준 크리문자열
- SAA-C02
- react
- 깃허브
- 데이터베이스
- 백준 1756
- github
- 정규화
Archives
- Today
- Total
-
[백준 12904] A와 B - 파이썬 본문
반응형
문제
https://www.acmicpc.net/problem/12904
12904번: A와 B
수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수
www.acmicpc.net
풀이 방법
s → t 를 만드는 것은 경우의 수가 너무 많기 때문에 시간 복잡도 측면에서 비효율적이다.
따라서 t → s 를 만드는 것이 낫다.
기존 방법
- 문자열의 뒤에 A를 추가한다.
- 문자열을 뒤집고 뒤에 B를 추가한다.
반대 방법
- 문자열의 끝에 있는 A를 제거한다.
- 문자열 끝에 있는 B를 제거하고 문자열을 뒤집는다.
만약 t → s 변환이 성공하면 1을, 아니면 0을 출력한다.
코드
s = list(input())
t = list(input())
while 1:
if t[-1] == 'A':
t.pop()
elif t[-1] == 'B':
t.pop()
t = t[::-1]
if s == t:
print(1)
break
if len(t) == 0:
print(0)
break
반응형
'Algorithm' 카테고리의 다른 글
[백준 14890] 경사로 - 파이썬 (0) | 2024.02.18 |
---|---|
[백준 21608] 상어 초등학교 - 파이썬 (0) | 2024.02.18 |
[백준 2638] 치즈 - 파이썬 (0) | 2024.02.15 |
[백준 1051] 숫자 정사각형 - 파이썬 (0) | 2024.01.20 |
[백준] 3190 - 뱀 (0) | 2023.12.09 |
Comments