문자열을 두 개 받고, 두번째 문자열의 문자를 조합해서 첫번째 문자열을 만들 수 있으면 Yes, 아니면 No.를 출력한다.
여기서 주의하여야 할 점은 첫번째랑 두번째 문자열이 똑같으면 안된다는 점이다. (문제에도 not이라고 강조를 해놓았다)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#anagram
import sys
for i in range(case):
if ori == fak: # 똑같은 문자열이면
print("No.")
else:
ori.sort() # 문자열 내의 문자들을 정렬
if ori == fak: # 같으면(문자열에 같은 문자가 같은 수만큼 있는지 확인)
print("Yes")
else: # 다르면
print("No.")
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
두 개의 문자열을 받고, 비교하여 Yes와 No.를 출력하는 코드다.
문제에서 준 예시도 잘 되고
정답.
느낀점:
1. 문제에서 건 조건 중 문자열엔 오직 알파벳, 숫자만 들어가고 길이가 100자가 넘지 않는다가 있는데 그건 코드에서 제한을 안 줘도 통과가 되었다. 따로 검사하지는 않는듯.
2. 내가 쓴 방법인 문자열을 리스트로 만듦->정렬->검사 는 보통 시간이 오래 걸리는 방법이라 통과가 안 될 줄 알았는데 통과가 되서 놀랐다. 수행시간도 20으로 짧고...
3. 알고리즘적으로 간단한 코드라고 생각한다. 그래서 함수를 쓰기보단 그냥 적는게 더 빠르고 짧아보였는데 지금 생각해보니 함수를 써도 크게 차이는 안날거같다.
'코테용 문제풀이 > 알고스팟' 카테고리의 다른 글
알고스팟 jeonglibe 문제 파이썬으로 풀기 (0) | 2019.08.12 |
---|---|
알고스팟 goodset 문제 파이썬으로 풀기 (0) | 2019.08.11 |
알고스팟 zeroone 문제 파이썬으로 풀기 (0) | 2019.07.16 |
알고스팟 meeting 문제 파이썬으로 풀기 (0) | 2019.07.15 |
알고스팟 koogle 문제 파이썬으로 풀기 (0) | 2019.07.08 |