반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
주의해야 할 점
이번 문제에서는 다른 문제들과는 다르게 시간 제한에 1초를 더 줬습니다.
시간 제한을 더 줬다는 것은 다른 문제들보다 더 어렵게 느껴지는 문제일 수도 있습니다.
생각한 풀이 과정
- 빨녹파 각 빛의 가짓수를 공백을 두고 입력합니다. 각각 정수형으로 변환하고, r, g, b 변수에 넣어줍니다.
- 0부터 r-1까지, 0부터 g-1까지, 0부터 b-1까지 반복하는 삼중 반복문을 만들어줍니다. b → g → r의 값 순서대로 값들이 변하므로 r의 값을 가장 바깥 반복문, g의 값을 중간 반복문, b의 값을 가장 안쪽 반복문으로 처리합니다.
- 출력 형식에 맞게 현재 r, g, b의 값을 공백으로 구분해 출력합니다.
- 반복문이 끝나고, 마지막으로 r, g, b의 값이 서로 다른 경우의 개수를 출력합니다. 경우의 수를 계산하면 됩니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 빨녹파 각 빛의 가짓수를 공백을 두고 입력합니다.
# 각각 정수형으로 만들고 변수에 넣어줍니다.
r, g, b = map(int, stdin.readline().split(' '))
# r, g, b의 값을 각각 출력할 때, b가 0부터 가장 먼저 증가하고,
# 그 다음은 g, 마지막으로 r의 값이 증가하는 오름차순으로 출력합니다.
# 그래서 r에 대한 값을 가장 바깥 반복문으로, 중간에는 g에 대한 값을 반복문,
# 가장 안쪽에는 b에 대한 값을 반복문으로 처리합니다.
# r의 값을 0부터 r - 1까지 반복합니다.
for r_num in range(r):
# g의 값을 0부터 g - 1까지 반복합니다.
for g_num in range(g):
# b의 값을 0부터 b - 1까지 반복합니다.
for b_num in range(b):
# 현재 r, g, b의 값을 공백으로 구분해 출력합니다.
print(r_num, g_num, b_num)
# r, g, b의 값이 서로 다른 경우의 개수를 출력합니다.
print(r * g * b)
제출 결과
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글