일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c언어
- 코드엔진
- 입문
- 그리디
- 문자열
- C
- 백준
- 문제풀이
- 꾸준히
- 초보
- 알고리즘
- C 언어
- implement
- 구현
- HTML
- CSS
- Implemention
- C Programming
- 10926
- 10807
- 정리
- greedy
- VS
- Python
- 심화1
- Baekjoon
- 설명
- 파이썬
- Beakjoon
- 친절한 설명
- Today
- Total
안경잡이 구루루
백준 2742 ( 기찍 N ) [ python ] 본문
문제
자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
출력
첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
나:
import sys
N = int(sys.stdin.readline())
1 <= N <= 100000
for i in range(N,0,-1):
print(i)
완성된 코드는 위와 같다.
import sys
우선 입력값의 크기가 크다고 생각되서 시간초과 일어날 것을 우려해 import sys를 통해 모듈을 사용했다.
N = int(sys.stdin.readline())
1 <= N <= 100000
sys 모듈을 사용해서 input() 대신에 sys.stdin.readline() 을 사용했다. 이때 N값의 범위를 한정했다.
for i in range(N,0,-1):
print(i)
이 문제의 핵심을 입력값의 숫자부터 1까지 거꾸로 출력하는 것이다. 그래서 나는 range 함수를 활용하기로 했다.
range([start,], stop, [,step]) # 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려줌
# 실제 범위는 start ~ stop -1 로 돌려줌
출력의 시작값을 N으로, 종료값을 0으로 설정( 종료값 0은 출력되지 않아서 원래 값보다 하나 더 작거나/ 크게 씀 ) 해서 1까지 출력할 수 있도록 했다.
이때 우리가 주목할 것은 step 부분으로 , 즉 N부터 -1씩 값이 줄어들면서 종료값 0+1 까지 print(i)를 통해 출력했다.
다른사람:
https://claude-u.tistory.com/17
a=int(input())
for i in range(a):
print(a-i)
완성된 코드는 위와 같다.
a=int(input())
우선 입력값이 import sys를 쓸 만큼 크지 않아서 input을 사용했다.
for i in range(a):
print(a-i)
range 함수가 start 부분을 설정하지 않으면 0부터 시작한다는 것을 활용했다.
즉 , 입력값 a 값과 range함수로 0 부터 a-1까지 i에 차례대로 들어가는 값을 빼서(a-i) 거꾸로 출력할 수 있도록 했다.
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 11022( A+B-8 ) [ python ] (0) | 2020.05.09 |
---|---|
백준 11021 ( A +B -7 ) [python] (0) | 2020.05.09 |
백준 2741( N 찍기 ) [ python ] (0) | 2020.05.07 |
백준 15552( 빠른 A+B )[ python ] (0) | 2020.05.05 |
백준 8393 ( 합 )[ python ] (0) | 2020.05.05 |