본문 바로가기
짜잘IT

22.09.02 백준풀이

by 정람지 2022. 9. 3.

씨프로그래밍실습을 들어서 씨 책을 샀다

이제 씨로도 짜봐야겠다~


<백준 - 1157번 단어 공부 >

 

Python - 대문자, 소문자 변환 함수 (isupper, islower, lower, upper)

다음 함수는 문자열이 대문자 또는 소문자로 구성되어있는지 확인할 수 있습니다. isupper()는 모든 문자열이 대문자이면 True를 리턴, 그렇지 않으면 False를 리턴, islower()는 모든 문자열이 소문자

codechacha.com

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

 

 

Python 리스트 요소 한줄에 한번에 출력하기

알고리즘을 풀다가 보면 1차원 리스트 요소를 아래와 같이 한번에 출력하고 싶을 때가 있습니다. arr = [1, 2, 3, 4] ➡️ 1 2 3 4 보통 for 문을 이용하여 출력하는 경우가 많습니다. for x in arr: print(x, en

yeomss.tistory.com

줄바꿈도 같이 되는 건 없나?


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("?")

완성~

시간초과남.. 내 더러운 코드...

참고

 

백준 1157번 [파이썬 알고리즘] 단어 공부

[Python] 백준 알고리즘 온라인 저지 1157번 : 단어 공부 Python3 코드 words = input().upper() unique_words = list(set(words)) # 입력받은 문자열에서 중복값을 제거 cnt_list = [] for x in unique_words..

ooyoung.tistory.com

count() 

찾고자 하는 항목이, 파이썬의 리스트에 몇개나 들어있는지 확인

 

파이썬 리스트(Python List) count() 와 len()

1. 찾고자 하는 항목이, 파이썬의 리스트에 몇개나 들어있는지 확인하는 count 함수 아래 예에서, fruits 리스트에 Mango 는 2개, Banana 는 1개가 들어있고, Guava 는 들어있지 않다. 따라서 내가 찾고자

vision-ai.tistory.com

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의 오른쪽에서 제거합니다. / 리스트도 되고 문자열도 되는 듯

 

Python - String strip(), rstrip(), lstrip() 사용 방법 및 예제

Python에서 strip() 함수를 이용하면 문자열의 쓸모 없는 부분을 자를 수 있습니다. Python은 lstrip(), rstrip(), strip()을 제공합니다. Java 등의 다른 언어들도 strip()을 제공하며, 기능은 모두 비슷합니다.

codechacha.com

'짜잘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