1141번: 접두사
접두사X 집합이란 집합의 어떤 한 단어가, 다른 단어의 접두어가 되지 않는 집합이다. 예를 들어, {hello}, {hello, goodbye, giant, hi}, 비어있는 집합은 모두 접두사X 집합이다. 하지만, {hello, hell}, {giant,
www.acmicpc.net
아니 레전드
챗지피티 미친놈이네요
def find_short_prefix(lst, long_str):
if not lst:
return False
shortest_str = min(lst, key=len)
for i in range(len(shortest_str)):
prefix = shortest_str[:i + 1]
if all(s.startswith(prefix) for s in lst) and long_str.startswith(prefix):
return True
return False
startswith라고 문자열이 특정 접두사(prefix)로 시작하는지 확인하는 메소드가 있대요 대소문자 구별하니까 조심해야하구
바이트 문자열도 구분 가능하다길래
또 물어봤는데
바이트 문자열(byte string)은 문자열을 다룰 때 사용하는 데이터 타입 중 하나로, 문자열을 바이트(byte)의 연속으로 다룹니다. 즉, 일반적인 문자열이 유니코드 문자들의 연속이라면, 바이트 문자열은 바이트들의 연속입니다.
파이썬에서는 바이트 문자열을 표현할 때 b 접두사를 붙입니다. 예를 들어, "hello"는 유니코드 문자열이고, b"hello"는 바이트 문자열입니다.
바이트 문자열은 주로 네트워크나 파일 입출력에서 사용됩니다. 이는 컴퓨터가 데이터를 바이트 단위로 다루기 때문입니다. 또한, 일부 프로토콜에서는 문자열 대신 바이트 문자열을 사용해야 하는 경우가 있습니다.
바이트 문자열은 문자열과 마찬가지로 다양한 메소드를 제공하며, 이를 활용하여 바이트 문자열을 다룰 수 있습니다. 하지만 바이트 문자열은 유니코드 문자열과는 다르게 문자 인코딩과 관련된 이슈가 발생할 수 있기 때문에, 이를 고려하여 적절히 다루어야 합니다.
라고 하네요 레전드 그 뭐더라 파일입출력할때 뭐 읽기 전용 할거면 r 쓰고 그거 말하는 건가봐요
def is_prefix(short_str, long_str):
if len(short_str) > len(long_str):
return False
for i in range(len(short_str)):
if short_str[i] != long_str[i]:
return False
return True
이거는 위에서 쓴 메소드 안 쓰고 함수로 구현한건데
레전드
말 조금씩 바꿔서 물어보면 다 다른 코드 알려줘서
진짜 뉴스 말대로 좋은 질문 하면 좋은 대답 얻을 수 있는 듯
근데 난 똥꼬질문 해서 startswith만 건짐
n = int(input())
arr = []
for i in range(n):
arr.append(input())
res = arr[:]
for i in arr:
for j in arr:
if i == j:
continue
if j.startswith(i):
if j in res:
res.remove(j)
print(len(res))
eng tistory suddenly korean cant write
bytheway it is my sil pae jak
i forgot 'max’
n = int(input())
arr = []
for i in range(n):
arr.append(input())
arr.sort(key = len)
res = arr[:]
for i in range(n):
for j in range(i+1,n):
if arr[j].startswith(arr[i]):
if arr[i] in res:
res.remove(arr[i])
break
print(len(res))
오잉 한숨 자고 왔드만 고쳐졌네용
단어들 오름차순으로 해서
h hi hello 이런 식으로 만들고
첫번째 for문 들어가면 h 자나요
j는 그러면 hi 일거고
근데 if문에서 보면
h가 hi의 접두사냐 이거거등요
h를 여기서 없애줘야 더 마니 접두사x 집합 만들 수 있으니까
더 짧은 애인 h 없애주ㅓㅆ습니다
후기
민죵언니 술찌 ㅠㅠ레죤두 ㅠㅠ
'BOJ' 카테고리의 다른 글
[python] 백준 5567번 - 결혼식 (2) | 2023.02.22 |
---|---|
[python] 백준 1535번 - 안녕 (2) | 2023.02.22 |
[python] 백준 1965번 - 상자넣기 (0) | 2023.02.19 |
[python] 백준 13414번 - 수강신청 (1) | 2023.02.18 |
[python] 백준 15649번 - N과 M (2) | 2023.02.18 |
댓글