백준

백준 2741 N찍기 파이썬

하카데미 2022. 10. 27. 09:08

1. 문제
- 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

2. 풀이
- 100,000 이하의 자연수를 입력 받도록 한다.
- 1부터 입력 받은 숫자까지 출력을 반복한다.

N = int(input())
for n in range(1, N+1):
    print(n)

- N+1 이유

range함수에서 파라미터가 2개인 경우,

앞의 파라미터는 시작값이고,

뒤의 파라미터는 종료값이다.

이때 종료값의 직전 숫자까지 반복하므로 '+ 1'을 해줘야 종료값을 출력할 수 있게 된다.

3. 남의 버전

1) 당연하게도 코랩 등등 에선 오류남.

import sys
N = int(sys.stdin.readline())
for n in range(1, N+1):
    print(n)

2) 숏코딩

print(*range(1,int(input())+1))

- *range()

파이썬 만의 특이한 동작으로 데이터 패킹과 언패킹 개념을 활용한 코드였다.

*(애스터리스트, 별표)가 iterable 형태의 데이터를 만나면,

언패킹한 후 인자를 넘겨주게 된다.

여기서 iterable 형태의 데이터란, 

튜플, 리스트, 딕셔너리 등을 의미한다.

# 참고1
print(*range(1, 5))

# 참고2
nums = [1, 2, 3]
chars = ["a", "b", "c"]

print(*nums, *chars)

 

- 파이썬 패킹, 언패킹 관련 블로그 참고

 

 

[파이썬 중급] unpacking에 대해서 잘 알고 계시나요?(*, ** 사용법)

안녕하세요 혹시 여러분은 UNPACKING(언패킹)에 대해서 잘 이해하고 쓰시고 계신가요? 아래 문제를 풀어보시겠어요? l1 = [1,2,3] l2 = ['python'] l3 = [*l1,*l2] a, *b, (c, *d) = l3 print(a) print(b) print(..

yeko90.tistory.com

 

- 해당 코드 관련 질문과 답변 게시글 참고

 

글 읽기 - *의 의미 ㅠ

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net

 

4. 출력 확인

1) 내가 푼 코드의 출력

2) 숏코딩 출력

3) *(애스터리스트)예제 코드들

'백준' 카테고리의 다른 글

백준 10871 X보다 작은 수 파이썬  (0) 2022.11.28
백준 2438 별 찍기 파이썬  (0) 2022.11.18
백준 15552 빠른 A + B 파이썬  (0) 2022.02.17
백준 8393 합 파이썬  (0) 2022.02.16
백준 10950 a + b (3번째) 파이썬  (0) 2022.02.15