반응형
문제
https://www.acmicpc.net/problem/2588
코드
a = int(input())
b = input()
print(a * int(b[2]))
print(a * int(b[1]))
print(a * int(b[0]))
print(a * int(b))
생소한 문법이 하나 보인다. 'b[2]' 이런 문법이 있는데 이는, b 문자열의 [2]번째에 있는 단어, 숫자를 표현하는 방법이다.
사람은 1부터 숫자를 세지만, 컴퓨터는 0부터 숫자를 세기 때문에, 0,1,2... 이런 식으로 숫자를 사용하면 된다.
그렇다면 b[2]는 입력받은 수의 세번째 자리를 뜻하게 된다.
설명
코드가 되게 여러가지 방식으로 나올 수 있는 문제인데, 가장 깔끔하다고 생각하는 방법으로 풀어봤다.
각 자리를 분할해서 각각 곱셈을 진행하는 방식으로 계산했다.
(3)의 경우 a와 b의 3번째 자리를(1의 자리),
(2)의 경우 a와 b의 2번째 자리를(10의 자리),
(1)의 경우 a와 b의 1번째 자리를(100의 자리)
곱해서 각각 프린트하고, 마지막 (6)번의 경우 a와 b의 곱셈으로 간단하게 계산했다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 10172: 개 (0) | 2022.10.28 |
---|---|
[파이썬, Python] 백준 10171: 고양이 (0) | 2022.10.26 |
[파이썬, Python] 백준 10430: 나머지 (0) | 2022.10.24 |
[파이썬, Python] 백준 3003: 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.10.23 |
[파이썬, Python] 백준 18108: 1998년생인 내가 태국에서는 2541년생?! (0) | 2022.10.22 |