씨프로그래밍실습을 들어서 씨 책을 샀다
이제 씨로도 짜봐야겠다~
<백준 - 1157번 단어 공부 >
upper() / lower()
resultList = [list() for m in range(4)]
print(resultList)
[list() for _ in range()]
활용하자~
Nlist = [1,2]
print(Nlist[0][0])
TypeError: 'int' object is not subscriptable는 인덱스를 갖지않는 값에 인덱스를 가지게 코드를 짤 경우 발생하는 오류이다.
max(리스트명) 출력값-> [값]
리스트명[인덱스번호] 출력값 -> [값]
>>> lili =[1]
>>> print(*lili)
1
줄바꿈도 같이 되는 건 없나?
from sys import stdin
N = stdin.readline()
N = N.upper()
Nlist = list(N) #모두 대문자인 문자열을 리스트에 넣음
Nlist.pop(-1)
#같은 알파벳을 같은 자리에 넣기
resultList = [ list() for _ in range(len(Nlist)) ]
resultList[0].append(Nlist[0])
for i in range(len(Nlist)-1):
isThis = "false"
for k in range(i+1):
try:
if Nlist[i+1] == resultList[k][0]:
resultList[k].append(Nlist[i+1])
isThis = "true"
break
except:
if Nlist[i+1] == resultList[k]:
resultList[k].append(Nlist[i+1])
isThis = "true"
break
if isThis == "false" :
resultList[i+1].append(Nlist[i+1])
#알파벳 수 세기
renumList =[list() for _ in range(len(Nlist)) ]
for i in range(len(Nlist)):
renumList[i].append(len(resultList[i]))
#큰 개수가 여러개인가?
result = 0
resultAl = []
for i in range(len(renumList)):
if max(renumList) == renumList[i]:
result += 1
resultAl = resultList[i][0]
# 결과 출력
if result == 1:
print(*resultAl)
else:
print("?")
완성~
시간초과남.. 내 더러운 코드...
참고
count()
찾고자 하는 항목이, 파이썬의 리스트에 몇개나 들어있는지 확인
index()
그리고 줄 수 최대한 줄여봐
from sys import stdin
N = stdin.readline().rstrip().upper()#모두 대문자
Nlist = list(set(N)) #중복제거
num = [] #숫자 리스트
for cha in Nlist:
num.append(N.count(cha))
if num.count(max(num)) > 1:
print('?')
else:
print(Nlist[num.index(max(num))])
성공!
파이썬은 왜 문자열을 리스트에 넣으면 마지막 요소가 '/n' 일까?
그렇구나~
\n : 줄바꿈
입력값 넣고 엔터쳐서 들어가는 건가 보다
rstrip()
인자로 전달된 문자를 String의 오른쪽에서 제거합니다. / 리스트도 되고 문자열도 되는 듯
끗
'짜잘IT' 카테고리의 다른 글
22.09.04 백준풀이 (0) | 2022.09.05 |
---|---|
22.09.03 백준풀이 (0) | 2022.09.04 |
22.08.30 백준풀기 (0) | 2022.08.30 |
22.08.27 백준풀기 (0) | 2022.08.27 |
22.08.21 백준풀기, 개미수열 (0) | 2022.08.15 |