728x90
문제 (+ 출처):
https://swexpertacademy.com/main/solvingProblem/solvingProblem.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
해당 문제는 백준에 '무한 문자열'과 굉장히 유사합니다.
https://www.acmicpc.net/problem/12871
12871번: 무한 문자열
첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
👩💻 정답코드
t = int(input())
for i in range(1,t+1):
a, b = map(str, input().split())
a_len = len(a)
b_len = len(b)
if a * b_len == b * a_len:
print(f'#{i}', 'yes')
else:
print(f'#{i}', 'no')
a, b에 대하여 같은 길이의 문자열을 만든 다음, 해당 문자가 같은지 비교해주면 됩니다
🤦♀️ 오답 코드
t = int(input())
for i in range(1,t+1):
a, b = map(str, input().split())
if len(a) > len(b):
b = b + b[0:len(a)-len(b)]
if a == b:
print(f'#{i}', 'yes')
else:
print(f'#{i}', 'no')
해당 방법으로 풀이하니 80개의 테스트 케이스 중 58개가 맞았습니다
'abca' 'abc' 등으로 들어오는 몇몇개의 테스트 케이스가 틀렸던 거 같습니다!
이런 문제 나오면 꼭 a, b 길이의 최대공약수만큼 곱해주는게 올바른 풀이 방법인 것 같습니다!-!
728x90
'ⓒⓞⓓⓘⓝⓖⓣⓔⓢⓣ > ⓟⓨⓣⓗⓞⓝ' 카테고리의 다른 글
[프로그래머스 / 파이썬] 이중우선순위큐 (0) | 2023.06.04 |
---|---|
[프로그래머스 / 파이썬] 예상 대진표 (0) | 2023.05.30 |
[프로그래머스/파이썬] 위장 (0) | 2023.04.05 |
[python] 단계별로 풀어보기 - 17단계 (0) | 2021.08.17 |
[python] 단계별로 풀어보기 - 16단계 (0) | 2021.08.14 |
댓글