본문 바로가기
알고리즘/CodeUp PS

[CodeUp][Python 기초 100제] 6083번 : [기초-종합] 빛 섞어 색 만들기

by 빛밤하늘 2021. 8. 5.
반응형

밑의 링크는 CodeUp에서의 문제 링크입니다.

 

[기초-종합] 빛 섞어 색 만들기(설명)(py)

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.  ------ 빨강(red), 초록(green), 파랑(blue) 빛을 섞어 여러 가지 다른 색 빛을 만들어 내려

codeup.kr

 

 

 

 

 

 

 

 

주의해야 할 점

이번 문제에서는 다른 문제들과는 다르게 시간 제한에 1초를 더 줬습니다.

시간 제한을 더 줬다는 것은 다른 문제들보다 더 어렵게 느껴지는 문제일 수도 있습니다.

강조된 시간 제한 문구

 

 

 

생각한 풀이 과정

  1. 빨녹파 각 빛의 가짓수를 공백을 두고 입력합니다. 각각 정수형으로 변환하고, r, g, b 변수에 넣어줍니다.
  2. 0부터 r-1까지, 0부터 g-1까지, 0부터 b-1까지 반복하는 삼중 반복문을 만들어줍니다. b → g → r의 값 순서대로 값들이 변하므로 r의 값을 가장 바깥 반복문, g의 값을 중간 반복문, b의 값을 가장 안쪽 반복문으로 처리합니다.
  3. 출력 형식에 맞게 현재 r, g, b의 값을 공백으로 구분해 출력합니다.
  4. 반복문이 끝나고, 마지막으로 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)

 

 

 

제출 결과

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글