Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

xcc1

백준 단계별 풀이 5단계 (파이썬) 본문

백준

백준 단계별 풀이 5단계 (파이썬)

xcc1 2021. 8. 31. 16:17
  • 10818번 정답
cnt = int(input())

list = list(map(int, input().split()))

print("{} {}".format(min(list) ,max(list)))

 

처음에 이렇게 풀었다.... 답이 아니라는데 이유를 모르겠다..ㅠㅠ

cnt = int(input())

list = list(map(int, input().split()))

list.sort()

print(list[0], list[4])

 

 

 

  • 2562번
list=[]

for i in range(9):
    list.append(int(input()))
	

print(max(list))
print(list.index(max(list)) + 1)

문제를 잘 읽어야한다.....

 

 

 

  • 2577번 정답
A = int(input())
B = int(input())
C = int(input())

#문자열로 만들어서 한자리 한자리를 리스트화 하는 방법
result = list(str(A*B*C))

#result리스트 안의 str(i)의 갯수를 세어주는 함수
for i in range(10):
    print(result.count(str(i)))

 

 

 

  • 3052번 정답
list = []
list_r = []
cnt = 0

i = 0
while i <= 9:
    list.append(int(input()))
    list_r.append(list[i]%42)
    if list_r.count(list_r[i]) == 1:
        cnt += 1
    i +=1

print(cnt)

나 이거 왜 되는지는 모르겠다... 여하튼 정답인데.

이 문제는 set으로 푸는 것이라고 한다.

 

list = []

for i in range(10):
    list.append((int(input())) % 42)
    
#집합자료형으로 만들어 중복을 없애준다고 한다.
list = set(list)
print(len(list))

https://wikidocs.net/1015

 

02-6 집합 자료형

[TOC] ## 집합 자료형은 어떻게 만들까? 집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. ...

wikidocs.net

set에 관련해서는 이 글을 읽었다.

 

 

 

  • 1546번 정답
T = int(input())
grade= list(map(int, input().split()))
max = max(grade)

total = 0
i = 0
while i < T :
    grade[i] = (grade[i]/max*100)
    total += grade[i]
    i += 1

print(total/T)

sum에 대해서 몰라서 이렇게 풀고나서 

T = int(input())
grade= list(map(int, input().split()))
max = max(grade)

i = 0
while i < T :
    grade[i] = (grade[i]/max*100)
    i += 1

#리스트 값을 합치는 sum!
print(sum(grade)/T)

sum을 사용해서도 해봤다.

 

 

 

  • 8958번 정답
T = int(input())


for i in range(T):
    A = str(input())
    s = list(A)
    sum = 0
    c = 1
    for i in s:
        if i == 'O':
            sum += c
            c += 1
        else:
            c = 1
    print(sum)

 

 

 

  • 4344번 정답
C = int(input())
A =[]

for i in range(C):
    A = list(map(int, input().split()))
    N = A[0]
    del A[0]
    total = sum(A)
    mean = total/N
    um = 0
    for i in A:
        if i > mean:
            um += 1

    print("{:.3f}%".format(um/N*100))

 

 

 

오늘은 중간 중간 딴 일을 하느라 시간이 조금 걸렸다. 그리고 

오늘 배운 것들을 정리하면

  • max(list), min(list): list 안의 최대, 최소값을 알려준다.
  • list.count(a): list안의 a의 개수를 세어준다.
  • set(list): list를 집합자료형으로 만들어주어 중복을 삭제한다.
  • sum(list): list 값을 합해준다
  • list(str(A*B*C): A*B*C 값을 문자열로 만든 후 , 각 문자 하나하나를 list로 하는법
  • : . nf : 자리수를 정해줌 

갈수록 모르는게 많아지지만....ㅠㅠ 문제 푸는 것이 재미있기는 하다!