문제. 1~9 사이의 정수 a를 입력받아 a + aa + aaa + aaaa 의 값을 계산하는 프로그램을 작성하십시오.
거의 아무것도 모르는 상태에서 시작하려니까,
제출하는 방법도 잘 모르고 코드 편집기도 다루는게 힘들어서 생각보다 오래 걸렸다.
알고리즘을 거의 모르는 난 이렇게 해결했다.
1
2
3
4
5
6
7
8
9
10
11
12
|
a = input()
a = str(a)
aa = a+a
aaa = aa+a
aaaa = aaa+a
a = int(a)
aa = int(aa)
aaa = int(aaa)
aaaa = int(aaaa)
print(a+aa+aaa+aaaa)
|
cs |
이렇게 알고리즘을 짰을 경우, 위의 문제는 풀리지만
반복되는 부분도 많고, 더 간단하게 짤 수 있을 거란 생각이 많이 들었다.
그래서 다른 분들의 풀이도 찾아보았고, for문을 이용한 나만의 풀이도 만들어 보았다.
for문을 이용한 다른 풀이.
1
2
3
4
5
|
a = str(input())
b = 0
for i in range(1, 5):
b = b + int(a*i)
print(b)
|
cs |
처음 받은 a 변수를 string으로 변환한 뒤
for문에 range(1, 5)를 이용하여 i가 1, 2, 3, 4로 순차적으로 돌게 한다.
a*i를 이용하여 a, aa, aaa, aaaa와 같은 형태를 만들고, 다시 int로 변환하여 비어있는 변수인 b에 더하도록
알고리즘을 짜보았다.
문제 출처 : https://swexpertacademy.com/main/main.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.
학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.
'Develop > Python + SWEA' 카테고리의 다른 글
[SW Expert Academy] 6216. 연산자 5 (0) | 2022.01.03 |
---|---|
[SW Expert Academy] 6209. 연산자 4 (0) | 2022.01.03 |
[SW Expert Academy] 6207. 연산자 3 (0) | 2022.01.03 |
[SW Expert Academy] 6206. 연산자 2 (0) | 2022.01.03 |
[SW Expert Academy] 6204. 연산자 1 (0) | 2022.01.03 |