본문 바로가기
파이썬/코딩 테스트 공부

백준 1546, 2750, 11720

by 코낄2 2023. 10. 22.

https://www.acmicpc.net/problem/2750

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

<나의 풀이>

n = int(input())
nums = []
for i in range(n):
    nums.append(int(input()))
nums.sort()
print(*nums)

> input으로 n을 받아서 n번 만큼 숫자를 받습니다.

받은 숫자를 오름차순으로 정렬해서 모든 요소를 출력했습니다.

 

그냥 제출했을 때는 시간이 80ms가 나왔습니다.

import sys
input = sys.stdin.readline

input = sys.stdin.readline > 이 코드는 표준 입력(stdin)에서 한 줄씩 입력을 읽어오는 함수인 readlineinput 함수에 대입한 것 입니다. 이를 통해  대량의 입력을 처리하는 경우에 더 빠른 입력 방법을 제공하므로, 대부분의 코딩 테스트 플랫폼에서 권장하는 방법 중 하나입니다. 위의 코드를 풀이에 더해 주었을 때 걸린 시간이 44ms로 줄어든 것을 확인할 수 있었습니다.

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

<나의 풀이>

x=int(input())
y=input()
answer = 0
for i in range(x):
    answer += int(y[i])
print(answer)

 

> x 자릿수 y가 주어지면 x번 y의 인덱스를 정수로 변환하여 변수 answer에 더해준다.

 

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

<나의 풀이>

n = int(input())
x = input()

li = x.split(' ')
li =list(map(int,li))
m = max(li)
new = []

for i in li:
    new.append(i/m * 100)
    
print(sum(new)/n)

>과목수 n과 점수의 모음x가 주어지면 x는 빈칸을 기준으로 분리하여 숫자로 변환하여 다시 저장해준다.

점수 중 최대치 m을 이용하여 점수를 다시 재정의한 값을 new에 넣고 평균점수를 다시 구한다.

'파이썬 > 코딩 테스트 공부' 카테고리의 다른 글

백준 17298  (0) 2023.11.03
스택과 큐 /백준 1874  (1) 2023.11.02
백준 12891, 11003  (0) 2023.10.26
백준 2018, 1940, 1253  (1) 2023.10.24
시간 복잡도/ 디버깅  (0) 2023.10.22