그룹 단어 체커

yongju·2022년 12월 8일
0

BAEKJOON

목록 보기
16/40
post-thumbnail

❓문제

https://www.acmicpc.net/problem/1316

❗문제 정리

string.find : string의 순서대로 정렬된다.
중복되는 단어가 있을 경우, 앞에 위치한 단어에 따라 정렬됨.
e.g) aba -> aab

📑코드

n=int(input())
count = 0
for _ in range(n):
  word = input()
  #word.find : word순서대로 정렬된다.
  #aba가 들어오면 aab가됨 중복되는단어가 같은것끼리 몰리게되고,
  #초기 word와 비교했을때 달라지기 때문에 그룹 단어가 아님
  #list(word)를 해주는 이유 : sorted반환값이 리스트이기 때문.
  if list(word) == sorted(word, key=word.find):
    count+= 1

print(count)

📝코드 설명

  if list(word) == sorted(word, key=word.find):
    count+= 1

word를 단어 순서 그대로 정렬한 것 (sorted, key=word.find)과 기존의 단어 순서를 비교함. 이때, sorted의 반환형이 list이기 때문에, word를 list형태로 바꾸어줌.

🎖제출 결과

💡insight

스터디원님의 도움으로 해결!

profile
AI dev

0개의 댓글