티스토리 뷰
문제
: n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
입출력 규칙
1. 입력첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
2. 출력
1부터 n까지 합을 출력한다.
문제 풀이
<내 풀이1>
1) 반복문 for문 활용
for문을 활용하여, 입력받은 숫자까지 하나하나 더하는 코드이다.
total=0
for i in range(int(input())+1):
total += i # total = total + 1
print(total)
2) sum() 함수 활용
여러 개의 수를 더하는 sum() 함수를 이용하였다.
iterable 자료형을 생성하는 range함수를 이용해서 1부터 입력받은 숫자까지의 범위를 지정하였다.
print(sum(range(1,int(input())+1)))
<숏코딩>
1부터 n까지의 합을 구하는 등차수열 합 공식을 비트 연산자를 활용하였다.
n =int(input())
print(n*-~n//2)
'~n' : 비트 연산자 NOT으로, 'n'의 비트가 반전된 값을 반환한다. 이는 '-(n+1)'과 같다.
'-~n' : 비트 연산자의 결과에 마이너스를 붙인 것이다. 이는 '-(~n)' 또는 'n+1'과 같은 결과 값을 가진다.
따라서, '-~n'은 'n+1'을 의미한다.
n = 3
print(~n) # -4
print(-~n) # 4
결국, 전체 수식 n * -~n // 2는 n * (n + 1) // 2와 동일하다.
이는 1부터 n까지의 합을 계산하는 공식입니다.
결국 아래와 동일하다.
n =int(input())
print(n*(n+1)//2)
'코딩 > 백준' 카테고리의 다른 글
[백준/BOJ] 2438번: 별 찍기 - 1 (Python 파이썬) (0) | 2024.05.20 |
---|---|
[백준/BOJ] 25304번: 영수증 (Python 파이썬) (0) | 2024.05.20 |
[백준/BOJ] 2739번: 구구단 (Python 파이썬) (0) | 2024.05.18 |
[백준/BOJ] 2480번: 주사위 세개 (Python 파이썬) (1) | 2024.05.17 |
[백준/BOJ] 2884번: 알람 시계 (Python 파이썬) (0) | 2024.05.17 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬
- 숏코딩
- **
- **kwargs
- 로지스틱 회귀
- 앤드류응
- *
- python
- 강의노트 정리
- policy function
- Sort
- state value function
- Andrew Ng
- *args
- 비용함수
- baekjoon
- 11870
- sorted
- 딥러닝
- 경사하강법
- numpy 배열 속성
- 손실함수
- 강화학습
- action value function
- omp: error #15
- NumPy
- adrew ng 머신러닝 강의
- numpy 배열 생성
- computation graph
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함