문제
[19단 출력]
풀러 가기
19 * 19 단을 다음 양식에 맞춰 출력하는 코드를 작성해보세요.
1 * 1 = 1 / 1 * 2 = 2
1 * 3 = 3 / 1 * 4 = 4
.............
1 * 17 = 17 / 1 * 18 = 18
1 * 19 = 19
2 * 1 = 2 / 2 * 2 = 4
.............
19 * 17 = 323 / 19 * 18 = 342
19 * 19 = 361
Input: x
Output:
1 * 1 = 1 / 1 * 2 = 2
1 * 3 = 3 / 1 * 4 = 4
....(생략)....
1 * 17 = 17 / 1 * 18 = 18
1 * 19 = 19
2 * 1 = 2 / 2 * 2 = 4
....(생략)....
19 * 17 = 323 / 19 * 18 = 342
19 * 19 = 361
Constraints:
시간 제한: 1000ms
메모리 제한: 80MB
풀이과정
1) 규칙 찾기 2) 예외 찾기
1) 규칙 찾기
- 주황색: 홀수를 곱할 때 ➡ ex) 1 * 홀수 = 결과
- 파란색: 짝수를 곱할 때 ➡ ex) / 1 * 짝수 = 결과\n
2) 예외 찾기
- 분홍색: 답이 19인 경우 ➡ ex) \n (주황색과 같이 출력한 후, 뒤에 짝수를 출력하지 않아야 함)
구현
# 19단 전체를 돌린다 -> 여기 * 1 = 답
for i in range(1, 20):
# 각 19단을 돌린다 -> 1 * 여기 = 답
# 이 부분에선 홀수, 짝수, 예외를 생각해줘야 한다
for j in range(1, 20):
if j%2==1: # 홀수일 때
print(i,"*",j,"=",i*j, end=" ") # 뒤에 홀수가 붙도록 출력하기위해 end="" 추가
else: # 짝수일 때
print("/",i,"*",j,"=",i*j) # \n의 효과를 위해 줄바꿈 안함
if j== 19:
print() # 예외처리
결과
쨔쨘