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)에서 한 줄씩 입력을 읽어오는 함수인 readline을 input 함수에 대입한 것 입니다. 이를 통해 대량의 입력을 처리하는 경우에 더 빠른 입력 방법을 제공하므로, 대부분의 코딩 테스트 플랫폼에서 권장하는 방법 중 하나입니다. 위의 코드를 풀이에 더해 주었을 때 걸린 시간이 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 |