๐ 1157 ๋จ์ด๊ณต๋ถ
๋ดํ์ด (์๊ฐ์ด๊ณผ)
import sys
input = sys.stdin.readline
word = input().strip().upper()
cntDict = {}
for i in word:
cntDict[i]=word.count(i)
it = sorted(list(cntDict.items()),key=lambda x: x[1],reverse=True)
if(len(it)==1):
print(it[0][1])
elif(it[0][1]==it[1][1]):
print("?")
else:
print(it[0][0])
1) word์ ๊ฐ์์ ๊ฐ์ dictionary ๋ก ๋ณด๊ดํ ๋ค์์
2) word๋ฅผ ๋๋ฉฐ ๊ทธ ๊ฐ์๋ฅผ list์ ์ ์ฅ
3) list๋ฅผ count ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
4) ๊ฐ์ด 1๊ฐ์ธ๊ฒฝ์ฐ, max count๊ฐ ์ค๋ณต์ธ ๊ฒฝ์ฐ๋ฅผ ๊ตฌ๋ถํด ์ถ๋ ฅ
์คํจ ์์ธ : ๋ถํ์ํ ๊ณผ์ ์ ๋ง์ด ๊ฑฐ์น๋ค. ๋์ ๋๋ฆฌ์์ฑ -> ์ค๋ณต count -> ์ ๋ ฌ
์ค๋ณต๊ณผ ๋ถํ์ํจ์ ์์ ๋ณด์
๋ด ํ์ด
import sys
input = sys.stdin.readline
word = input().strip().upper()
cntList=[]
setList = list(set(word))
for i in setList:
cntList.append(word.count(i))
if(cntList.count(max(cntList))>1):
print("?")
else:
print(setList[cntList.index(max(cntList))])
1) word์ ์ค๋ณต์์ค list์์ฑ = setList
2) setList๋ฅผ ๋๋ฉฐ word๋ด ๊ฐ์ ์ธ๊ธฐ
3) ๊ฐ์ list์ max๊ฐ 2๊ฐ ์ด์์ด๋ฉด ? ์ถ๋ ฅ
์๋๋ผ๋ฉด cntList์ ์ต๋๊ฐ์ Index๋ฅผ ์ฐพ์ setList์ ๋์ ํด ์ต๋ count ์ ๋ฌธ์ ์ถ๋ ฅ
ํฌ์ธํธ!
์ต๋๊ฐ์ด ๋ช๊ฐ์ธ์ง ์ธ๊ธฐ : a.count(max(a)) ์๊ธฐ ์์ ์ max๋ฅผ count ํ๋ฉด ๋จ
๋ช๊ฐ์ธ์ง ์ฐพ์ ๋ set์ ์ด์ฉํ์ฌ ์ค๋ณต ์ค์ด๊ธฐ
๐์์ ์ ๋ด๊ฐ ํ์๋ ํ์ด๋ฅผ ํ์ฉํ์ฌ ๋ค์ ๊ฐ์ ํ๋ค. ์ฒ์ ๊ตฌํํ ๋๋ถํฐ ํจ์์ ํจ์จ์ฑ์ ๋ฐ์ง๋ค๋ณด๋ ์ฝ๋๊ฐ ์ ์จ์ง์ง ์๋๋ค.
์ผ๋จ ๊ตฌํํ๊ณ ๊ฐ์ ํ๋๊ฒ & ์ฝ๋์ ํจ์จ์ฑ์ ๊ณ ๋ฏผํ๋๊ฒ ์ ์ ์ ํ ์กฐํ๊ฐ ํ์ํ๋ค.
๐ 9012 ๊ดํธ
๋ดํ์ด(์ค๋ต)
n= int(input())
def isVps(word):
psL="("
psR=")"
cnt=0;
if(word.count(psL)==word.count(psR)):
return "YES"
else:
return "NO"
vpsList = [input() for _ in range(n)]
for i in vpsList:
print(isVps(i))
์ฒ์์๋ ์ผ๊ดํธ, ์ค๋ฅธ๊ดํธ์ ๊ฐ์๊ฐ ๋ง์ผ๋ฉด ๋๊ฒ ์ง ๋ผ๊ณ ์๊ฐํ๊ณ ๊ตฌํํ๋๋ฐ ์๋์๋ค
๋์ ์ค์ ๊ณผ์
1. ์ผ๊ดํธ ์ค๋ฅธ๊ดํธ์ ๊ฐ์๊ฐ ๊ฐ์ผ๋ฉด VPS
2. ๋์ด ์ค๋๊ดํธ๊ฐ ์๋๋ฉด ๋ฌธ์์ด
๊ณ ๋ฏผ์ ํด๋ณด๋ "("์ผ๊ดํธ๋ฅผ ๋ฆฌ์คํธ์ ๋ฃ์ด๋๊ณ ")"์ฐ๊ดํธ๊ณผ ๋์ฌ๋ ๋ง๋ค ๋นผ์ฃผ๋ฉด ๋๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๋บ๊ฒ ์๊ฑฐ๋, ๋ค๋บ๋๋ฐ๋ ๋จ์์์ผ๋ฉด "NO"
๋ด ํ์ด
n= int(input())
def isVps(word):
stackLst=[]
for i in word:
if i=="(":
stackLst.append("(")
else:
if len(stackLst)==0:
return "NO"
stackLst.pop()
if stackLst ==0:
return "YES"
else:
return"NO"
vpsList = [input() for _ in range(n)]
for i in vpsList:
print(isVps(i))
๋ค๋ฅธํ์ด
for _ in range(int(n)):
stackLst = []
flag = True
word = input()
#print(word)
for i in word:
if i == '(':
stackLst.append(i)
if i == ')':
try:
stackLst.pop(-1)
except:
flag = False
break
#print(stackLst)
if len(stackLst) == 0 and flag == True:
print('YES')
else:
print('NO')
stackLst.clear()
๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋
")"๊ดํธ๊ฐ ๋์ด์๋ ๋ถ๊ตฌํ๊ณ ์คํ์ popํ "(" ๊ดํธ๊ฐ ์์ ์ breakํ๊ณ flag๋ฅผ ์ฃผ์ด ์ฒ๋ฆฌํ๊ณ ์์๋ค.
๐์๊ณ ๋ฆฌ์ฆ ํ์ด๋ฅผ ์์ํ ์ง ์ผ๋ง ์๋๋ค ๋ณด๋ ์คํ์ ํ์ฉํ์๋ ์์ด๋์ด ์์ฒด๊ฐ ์๊ฐ๋์ง ์์๋ค.
์ข๋ ๋ง์ด ํ์ด๋ณด๋ฉด ๋ฅ์ํ๊ฒ ๋ฌธ์ ์ ์ฌ์ฉํ ๊ฒ๋ค์ ๋ฐ๊ฒฌํ ๊ฒ์ด๋ค .(๋ฏฟ์)
๐ 11721 ์ด๊ฐ์ฉ ๋์ด ์ถ๋ ฅํ๊ธฐ
๋ดํ์ด
import sys
import math
input = sys.stdin.readline
word = input().strip()
for i in range(math.ceil(len(word)/10)):
print(word[10*i:10*(i+1)])
๋๋๊ธฐํ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋ฆผํด์ผ ํ๋ค๊ณ ์๊ฐํด math๋ฅผ ์ฌ์ฉํ์ง๋ง ์๊ฐํด๋ณด๋ ๊ทธ๋ฅ ๋๋ ์ค ๊ฒฐ๊ณผ๋ฅผ Int๋ก ๊ฐ์ธ์ฃผ๊ณ +1 ํ๋ฉด ๋๋ ๋ฌธ์ ์๋ค.
math.ceil(len(word)/10)
len(word)/10+1
๋๊ธ