728x90
백준 2439
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
s = int(input()) #입력받기
for i in range(1,s+1):
a = (i*'*')
print(a.rjust(s))
#결과:
5
*
**
***
****
*****
- rjust함수
문자열.rjust(전체 자리 숫자, 공백이 있을 경우 공백을 채울 텍스트)
오른쪽 정렬
-ljust함수
왼쪽 정렬
백준 1110
제일 생각을 많이 했던 문제
0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다.
먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다.
그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자.
26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다.6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다.
위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다.
N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오.
규칙을 찾아서 아래처럼 만들어줌
n = int(input())
num = n
count = 0
while True: #새로운 수가 나오는 반복문을 만들어줌
#ex) num=28경우
a = num//10 #2 (10의 자리 숫자 빼오기)몫을구함
b = num%10 #8 (1의자리 숫자 빼오기)나머지를 구함
c = (a+b)%10 #0 (1의자리 숫자 빼오기) 나머지를 구함
num = (b*10)+c #80 새로운 수를 만들어줌
count += 1 # 사이클 수 +1
if num == n:
print(count) #입력받은 수가 나오면 멈춤
break
else:
continue # num != n 반복문 지속
Tip
연산자 | 의미 |
+ | 덧셈 |
- | 뺄셈 |
* | 곱하기 |
** | 제곱 |
/ | 나누기 |
// | 나누기 연산 후 소주점 이하의 수를 버리고, 정수 부분의 몫을 구함 |
% | 나누기 연산 후 몫이 아닌 나머지를 구함 |
++ | 증감 연산자 |
-- | 감소 연산자 |
위에 글 내용은 오류 사항이 존재할 수 있습니다!
수정 사항이 있을 시 알려주시면 감사하겠습니다.
728x90
'Python 문제풀이 > 백준(baekjoon)' 카테고리의 다른 글
6. python 기본 수학1 - 백준 1712, 백준 2292 (0) | 2022.09.14 |
---|---|
5. python 문자열 - 백준 1157, 백준 2941, 백준 1316 (1) | 2022.09.13 |
4. python 배열 - 백준 2562, 백준 8958 (0) | 2022.09.06 |
2. python 조건문 - 백준 2884, 백준 2525 (0) | 2022.09.02 |
1. python 입출력, 사칙연산 - 백준 2557, 백준10869 (0) | 2022.09.01 |
댓글