๐ 1316 ๊ทธ๋ฃน๋จ์ด์ฒด์ปค
๊ทธ๋ฃน๋จ์ด ์๋ฏธ
ํ๋ฒ ๋์๋ ๋จ์ด๋ ๋ค์ ์ฐจ๋ก์ ๋์ค์ง ์์์ผ ํจ
๋ฐฐ์ด ๋ด ์กด์ฌ ํ์ธ์์ in์ ์์ฐ๋ ค๊ณ ํ์ง๋ง
๋ง๋ ํ ๋ฐฉ๋ฒ์ด ๋ ์ค๋ฅด์ง ์์
๋ด ํ์ด
import sys
input = sys.stdin.readline
n= int(input())
cnt=0
def isGroup(word):
checkList=[]
for j in word:
if j in checkList and j!=checkList[-1]:
return False
else:
checkList.append(j)
continue
return 1
for i in range(n):
word=input().strip()
if isGroup(word):
cnt+=1
print(cnt)
1) ๋จ์ด ๋ด ์ํ๋ฒณ์ ๋๋ฉฐ checkList์ ๋ฃ์ด์ค
2) ์ํ๋ฒณ์ด ์ด๋ฏธ checkList์ ์๋๋ฐ ๋ง์ง๋ง ๊ธ์๊ฐ ์๋๋ผ๋ฉด False return
3) ๋ค ๋๋๋ฐ ์ฑ๊ณตํ๋ค๋ฉด return True
๋ดํ์ด2
cnt=0
n=int(input())
for i in range(n):
wCheck=0
word=input().strip()
sWord = word
for j in sWord:
if j in word:
g1=word.count("*")
word=word.replace(j,"*")
g2=word.count("*")
diff = g2-g1
if diff>1:
if "*" not in word[g1+diff:]:
wCheck+=diff
else:
wCheck+=1
if wCheck == len(word):
cnt+=1
print(cnt)
๊ณผ๊ฑฐ์ ๋ด ํ์ด๋ฅผ ๋ค์ ๋ณด์๋๋ ๋ ํน์ดํ ๋ฐฉ๋ฒ์ ์ฐ๊ณ ์์๋ค.
1) ์ํ๋ฒณ์ ๋๋ฉฐ "*"๋ก ๋ฐ๊ฟ์ค๋ค
2) ๋ฐ๊พธ๊ธฐ์ ๊ณผ ํ์ "*"๊ฐ์ ์ฐจ์ด๋ฅผ ํตํด ๋ฐ๋ ๊ฐ์ ํ์ธ
3) ์ฐจ์ด๊ฐ 2๊ฐ์ด์์ผ๋ => ํ์ฌํ์๊ตฌ๊ฐ์ ๋ค์ "*" ์ด ๋ฐ๋์ง ์์์ผ๋ฉด ์ฐ์ํ ๊ฐ์ด๋ ๋ํด์ฃผ๊ธฐ
ex) abcdea ์ ๋ ฅ
=> *bcde* ์ด๋ ๊ฒ ๋ฐ๋์๊ณ , ํ์ฌํ์๊ตฌ๊ฐ+๋ฐ๋๊ฐฏ์ ๋ณด๋ค ๋ค์์ "*"์ด ๋ฐ๋์ง ํ์ธํด์ผ ํจ
๋ฐ๋์ง ์์๋ค๋ฉด, ์ฐ์๊ฐ์ด๋ +diff๋งํผ ๋ํด์ฃผ๊ณ
๋ฐ๋์๋ค๋ฉด, ์ฐ์๊ฐ์ด ์๋๋ ๋ํด์ฃผ์ง ์๋๋ค
5) ์ฐ์๊ฐ ํน์ ๋จ์ผ๊ฐ์ ์ฒดํฌํ ๊ฐ์์ word์ ๊ฐ์๊ฐ ๊ฐ๋ค๋ฉด cnt+1
๊ฒฐ๋ก ์ ์ผ๋ก 2๋ฒ์งธ ํ์ด๊ฐ ๋ ๋น ๋ฅด๋ค
๋ค๋ฅธ ํ์ด
n=int(input())
wordLst=[]
for _ in range(n):
wordLst.append(input().strip())
cnt=0
for word in wordLst:
ans=[]
cnt+=1
cur=word[0]
for i in word:
if cur==i:
continue
elif i in ans:
cnt-=1
break
else:
ans.append(cur)
cur=i
print(cnt)
๋ ๊ฐ๋จํ ๋ค๋ฅธ ํ์ด๋ ๋ณด์๋ค.
1) ๋จ์ด ๋๋ฉด์
๐ ํ๋์ ๋ฌธ์ ์ธ๋ฐ ์์ ํ ๋ค๋ฅด๊ฒ ํ์ดํ๋ค. ๊ณผ๊ฑฐ์ ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋๋ฒ๊น ๋ ์ด์ฌํ ํ๋๋ฐ ์ข๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ง๋ ๋ ์ด๋ป๊ฒ ๋ ๊น..? ๋ํญ์ด ์์๋๋ค.. ใ ใ
๋๊ธ